kittycad.models.modeling_cmd

Classes

camera_drag_end(**data)

Camera drag ended

camera_drag_move(**data)

Camera drag continued.

camera_drag_start(**data)

Camera drag started.

center_of_mass(**data)

Get the center of mass of entities in the scene or the default scene.

close_path(**data)

Closes a path, converting it to a 2D solid.

curve_get_control_points(**data)

Get control points of the given curve.

curve_get_end_points(**data)

Find the start and end of a curve.

curve_get_type(**data)

Get type of the given curve.

curve_set_constraint(**data)

Get the plane for sketch mode.

default_camera_focus_on(**data)

Focus the default camera upon an object in the scene.

default_camera_get_settings(**data)

Gets the default camera's camera settings

default_camera_look_at(**data)

Change what the default camera is looking at.

default_camera_perspective_settings(**data)

Change what the default camera is looking at.

default_camera_set_orthographic(**data)

Use orthographic projection.

default_camera_set_perspective(**data)

Use perspective projection.

default_camera_zoom(**data)

Adjust zoom of the default camera.

density(**data)

Get the density of entities in the scene or the default scene.

edge_lines_visible(**data)

Changes visibility of scene-wide edge lines on brep solids

edit_mode_enter(**data)

Enter edit mode

edit_mode_exit(**data)

Exit edit mode

enable_sketch_mode(**data)

Sketch on some entity (e.g. a plane, a face).

entity_circular_pattern(**data)

Create a circular pattern using this entity.

entity_fade(**data)

Fade entity in or out.

entity_get_all_child_uuids(**data)

What are all UUIDs of this entity's children?

entity_get_child_uuid(**data)

What is the UUID of this entity's n-th child?

entity_get_distance(**data)

What is the distance between these two entities?

entity_get_num_children(**data)

How many children does the entity have?

entity_get_parent_id(**data)

What is this entity's parent?

entity_get_sketch_paths(**data)

What are all UUIDs of all the paths sketched on top of this entity?

entity_linear_pattern(**data)

Create a linear pattern using this entity.

entity_linear_pattern_transform(**data)

Create a pattern using this entity by specifying the transform for each desired repetition.

entity_make_helix(**data)

Create a helix using the input cylinder and other specified parameters.

entity_mirror(**data)

Mirror the input entities over the specified axis.

entity_mirror_across_edge(**data)

Mirror the input entities over the specified edge.

entity_set_opacity(**data)

Set opacity of the entity.

export(**data)

Export the scene to a file.

extend_path(**data)

Extend a path by adding a new segment which starts at the path's "pen".

extrude(**data)

Command for extruding a solid 2d.

face_get_center(**data)

Obtains the surface "center of mass"

face_get_gradient(**data)

Determines the gradient (dFdu, dFdv) + normal vector on a brep face evaluated by parameters u,v

face_get_position(**data)

Determines a position on a brep face evaluated by parameters u,v

face_is_planar(**data)

Determines whether a brep face is planar and returns its surface-local planar axes if so

get_entity_type(**data)

What type of entity is this?

get_num_objects(**data)

Get the number of objects in the scene

get_sketch_mode_plane(**data)

Get the plane for sketch mode.

handle_mouse_drag_end(**data)

Stop dragging the mouse.

handle_mouse_drag_move(**data)

Continue dragging the mouse.

handle_mouse_drag_start(**data)

Start dragging the mouse.

highlight_set_entities(**data)

Changes the current highlighted entity to these entities.

highlight_set_entity(**data)

Changes the current highlighted entity to whichever one is at the given window coordinate.

import_files(**data)

Import files to the current model.

loft(**data)

Command for lofting sections to create a solid

make_axes_gizmo(**data)

Add a gizmo showing the axes.

make_plane(**data)

Make a new plane

mass(**data)

Get the mass of entities in the scene or the default scene.

mouse_click(**data)

Send a mouse click event Updates modified/selected entities.

mouse_move(**data)

Send a mouse move event

move_path_pen(**data)

Move the path's "pen".

new_annotation(**data)

Create a new annotation

object_bring_to_front(**data)

Bring an object to the front of the scene

object_set_material_params_pbr(**data)

Set the material properties of an object

object_visible(**data)

Hide or show an object

path_get_curve_uuid(**data)

Obtain curve id by index

path_get_curve_uuids_for_vertices(**data)

Obtain curve ids for vertex ids

path_get_info(**data)

Query the given path.

path_get_sketch_target_uuid(**data)

Obtain the sketch target id (if the path was drawn in sketchmode) for a path

path_get_vertex_uuids(**data)

Obtain vertex ids for a path

plane_intersect_and_project(**data)

Utility method.

plane_set_color(**data)

Set the color of a plane.

reconfigure_stream(**data)

Reconfigure the stream.

remove_scene_objects(**data)

Remove scene objects.

revolve(**data)

Command for revolving a solid 2d.

revolve_about_edge(**data)

Command for revolving a solid 2d about a brep edge

scene_clear_all(**data)

Removes all of the Objects in the scene

select_add(**data)

Adds one or more entities (by UUID) to the selection.

select_clear(**data)

Clear the selection

select_get(**data)

Find all IDs of selected entities

select_remove(**data)

Removes one or more entities (by UUID) from the selection.

select_replace(**data)

Replaces current selection with these entities (by UUID).

select_with_point(**data)

Modifies the selection by simulating a "mouse click" at the given x,y window coordinate Returns ID of whatever was selected.

send_object(**data)

Send object to front or back.

set_background_color(**data)

Set the background color of the scene.

set_current_tool_properties(**data)

Set the properties of the tool lines for the scene.

set_default_system_properties(**data)

Set the default system properties used when a specific property isn't set.

set_scene_units(**data)

Set the units of the scene.

set_selection_filter(**data)

What kind of entities can be selected?

set_selection_type(**data)

When you select some entity with the current tool, what should happen to the entity?

set_tool(**data)

Set the current tool.

sketch_mode_disable(**data)

Disable sketch mode.

solid2d_add_hole(**data)

Add a hole to a Solid2d object before extruding it.

solid3d_fillet_edge(**data)

Fillets the given edge with the specified radius.

solid3d_get_all_edge_faces(**data)

Gets all faces which use the given edge.

solid3d_get_all_opposite_edges(**data)

Gets all edges which are opposite the given edge, across all possible faces.

solid3d_get_extrusion_face_info(**data)

Get a concise description of all of an extrusion's faces.

solid3d_get_next_adjacent_edge(**data)

Gets the next adjacent edge for the given edge, along the given face.

solid3d_get_opposite_edge(**data)

Gets the edge opposite the given edge, along the given face.

solid3d_get_prev_adjacent_edge(**data)

Gets the previous adjacent edge for the given edge, along the given face.

solid3d_shell_face(**data)

Command for shelling a solid3d face

start_path(**data)

Start a new path.

surface_area(**data)

Get the surface area of entities in the scene or the default scene.

take_snapshot(**data)

Take a snapshot of the current view.

update_annotation(**data)

Update an annotation

view_isometric(**data)

Fit the view to the scene with an isometric view.

volume(**data)

Get the volume of entities in the scene or the default scene.

zoom_to_fit(**data)

Fit the view to the specified object(s).

class kittycad.models.modeling_cmd.camera_drag_end(**data)[source][source]

Camera drag ended

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'interaction': <enum 'CameraDragInteractionType'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['camera_drag_end'], 'window': <class 'kittycad.models.point2d.Point2d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.camera_drag_end'>, 'config': {'title': 'camera_drag_end'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.camera_drag_end'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.camera_drag_end'>>]}, 'ref': 'kittycad.models.modeling_cmd.camera_drag_end:94192504248512', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'interaction': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'CameraDragInteractionType'>, 'members': [CameraDragInteractionType.PAN, CameraDragInteractionType.ROTATE, CameraDragInteractionType.ZOOM], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.camera_drag_interaction_type.CameraDragInteractionType:94192500008864', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'camera_drag_end', 'schema': {'expected': ['camera_drag_end'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'camera_drag_end', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c198c0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "interaction": SerField {                         key_py: Py(                             0x00007f68a670ce70,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae680e7a0,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956582b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "camera_drag_end",                                             },                                             expected_py: None,                                             name: "literal['camera_drag_end']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "window": SerField {                         key_py: Py(                             0x00007f6898854900,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "camera_drag_end",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="camera_drag_end", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "interaction",                         lookup_key: Simple {                             key: "interaction",                             py_key: Py(                                 0x00007f6894314c30,                             ),                             path: LookupPath(                                 [                                     S(                                         "interaction",                                         Py(                                             0x00007f6894314bf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a670ce70,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae680e7a0,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "pan": 0,                                             "rotate": 1,                                             "zoom": 2,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f68947ae990,                                         ),                                         Py(                                             0x00007f68947aea50,                                         ),                                         Py(                                             0x00007f68947aeab0,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'pan', 'rotate' or 'zoom'",                                 strict: false,                                 class_repr: "CameraDragInteractionType",                                 name: "str-enum[CameraDragInteractionType]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944ec7b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944ec840,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956582b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "camera_drag_end": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956582b0,                                                 ),                                             ],                                         },                                         expected_repr: "'camera_drag_end'",                                         name: "literal['camera_drag_end']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['camera_drag_end']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "window",                         lookup_key: Simple {                             key: "window",                             py_key: Py(                                 0x00007f68944ec8a0,                             ),                             path: LookupPath(                                 [                                     S(                                         "window",                                         Py(                                             0x00007f68944ec8d0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898854900,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894314b40,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894314b40,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "camera_drag_end",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c198c0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "camera_drag_end",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, interaction: kittycad.models.camera_drag_interaction_type.CameraDragInteractionType, type: Literal['camera_drag_end'] = 'camera_drag_end', window: kittycad.models.point2d.Point2d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

interaction: CameraDragInteractionType[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'interaction': FieldInfo(annotation=CameraDragInteractionType, required=True), 'type': FieldInfo(annotation=Literal['camera_drag_end'], required=False, default='camera_drag_end'), 'window': FieldInfo(annotation=Point2d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['camera_drag_end'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

window: Point2d[source]
class kittycad.models.modeling_cmd.camera_drag_move(**data)[source][source]

Camera drag continued.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'interaction': <enum 'CameraDragInteractionType'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'sequence': typing.Optional[int], 'type': typing.Literal['camera_drag_move'], 'window': <class 'kittycad.models.point2d.Point2d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.camera_drag_move'>, 'config': {'title': 'camera_drag_move'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.camera_drag_move'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.camera_drag_move'>>]}, 'ref': 'kittycad.models.modeling_cmd.camera_drag_move:94192504226800', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'interaction': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'CameraDragInteractionType'>, 'members': [CameraDragInteractionType.PAN, CameraDragInteractionType.ROTATE, CameraDragInteractionType.ZOOM], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.camera_drag_interaction_type.CameraDragInteractionType:94192500008864', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'camera_drag_move', 'schema': {'expected': ['camera_drag_move'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'camera_drag_move', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c143f0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "window": SerField {                         key_py: Py(                             0x00007f6898854900,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                     "interaction": SerField {                         key_py: Py(                             0x00007f68a670ce70,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae680e7a0,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956583f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "camera_drag_move",                                             },                                             expected_py: None,                                             name: "literal['camera_drag_move']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "sequence": SerField {                         key_py: Py(                             0x00007f68a783cc48,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Int(                                                 IntSerializer,                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "camera_drag_move",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="camera_drag_move", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "interaction",                         lookup_key: Simple {                             key: "interaction",                             py_key: Py(                                 0x00007f6894333430,                             ),                             path: LookupPath(                                 [                                     S(                                         "interaction",                                         Py(                                             0x00007f68943333f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a670ce70,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae680e7a0,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "pan": 0,                                             "rotate": 1,                                             "zoom": 2,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f68947ae990,                                         ),                                         Py(                                             0x00007f68947aea50,                                         ),                                         Py(                                             0x00007f68947aeab0,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'pan', 'rotate' or 'zoom'",                                 strict: false,                                 class_repr: "CameraDragInteractionType",                                 name: "str-enum[CameraDragInteractionType]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "sequence",                         lookup_key: Simple {                             key: "sequence",                             py_key: Py(                                 0x00007f68943334b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "sequence",                                         Py(                                             0x00007f6894333470,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783cc48,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Int(                                             IntValidator {                                                 strict: false,                                             },                                         ),                                         name: "nullable[int]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[int]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944e2a90,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944e2bb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956583f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "camera_drag_move": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956583f0,                                                 ),                                             ],                                         },                                         expected_repr: "'camera_drag_move'",                                         name: "literal['camera_drag_move']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['camera_drag_move']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "window",                         lookup_key: Simple {                             key: "window",                             py_key: Py(                                 0x00007f68944e24c0,                             ),                             path: LookupPath(                                 [                                     S(                                         "window",                                         Py(                                             0x00007f68944e3960,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898854900,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894333340,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894333340,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "camera_drag_move",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c143f0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "camera_drag_move",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, interaction: kittycad.models.camera_drag_interaction_type.CameraDragInteractionType, sequence: Optional[int] = None, type: Literal['camera_drag_move'] = 'camera_drag_move', window: kittycad.models.point2d.Point2d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

interaction: CameraDragInteractionType[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'interaction': FieldInfo(annotation=CameraDragInteractionType, required=True), 'sequence': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=Literal['camera_drag_move'], required=False, default='camera_drag_move'), 'window': FieldInfo(annotation=Point2d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

sequence: Optional[int][source]
type: Literal['camera_drag_move'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

window: Point2d[source]
class kittycad.models.modeling_cmd.camera_drag_start(**data)[source][source]

Camera drag started.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'interaction': <enum 'CameraDragInteractionType'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['camera_drag_start'], 'window': <class 'kittycad.models.point2d.Point2d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.camera_drag_start'>, 'config': {'title': 'camera_drag_start'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.camera_drag_start'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.camera_drag_start'>>]}, 'ref': 'kittycad.models.modeling_cmd.camera_drag_start:94192504217008', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'interaction': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'CameraDragInteractionType'>, 'members': [CameraDragInteractionType.PAN, CameraDragInteractionType.ROTATE, CameraDragInteractionType.ZOOM], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.camera_drag_interaction_type.CameraDragInteractionType:94192500008864', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'camera_drag_start', 'schema': {'expected': ['camera_drag_start'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'camera_drag_start', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c11db0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "interaction": SerField {                         key_py: Py(                             0x00007f68a670ce70,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae680e7a0,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944a7bb0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "camera_drag_start",                                             },                                             expected_py: None,                                             name: "literal['camera_drag_start']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "window": SerField {                         key_py: Py(                             0x00007f6898854900,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "camera_drag_start",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="camera_drag_start", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "interaction",                         lookup_key: Simple {                             key: "interaction",                             py_key: Py(                                 0x00007f68943320b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "interaction",                                         Py(                                             0x00007f6894331ff0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a670ce70,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae680e7a0,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "pan": 0,                                             "rotate": 1,                                             "zoom": 2,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f68947ae990,                                         ),                                         Py(                                             0x00007f68947aea50,                                         ),                                         Py(                                             0x00007f68947aeab0,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'pan', 'rotate' or 'zoom'",                                 strict: false,                                 class_repr: "CameraDragInteractionType",                                 name: "str-enum[CameraDragInteractionType]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944e2d90,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944e2df0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944a7bb0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "camera_drag_start": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944a7bb0,                                                 ),                                             ],                                         },                                         expected_repr: "'camera_drag_start'",                                         name: "literal['camera_drag_start']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['camera_drag_start']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "window",                         lookup_key: Simple {                             key: "window",                             py_key: Py(                                 0x00007f68944e2e50,                             ),                             path: LookupPath(                                 [                                     S(                                         "window",                                         Py(                                             0x00007f68944e2e80,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898854900,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894330200,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894330200,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "camera_drag_start",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c11db0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "camera_drag_start",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, interaction: kittycad.models.camera_drag_interaction_type.CameraDragInteractionType, type: Literal['camera_drag_start'] = 'camera_drag_start', window: kittycad.models.point2d.Point2d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

interaction: CameraDragInteractionType[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'interaction': FieldInfo(annotation=CameraDragInteractionType, required=True), 'type': FieldInfo(annotation=Literal['camera_drag_start'], required=False, default='camera_drag_start'), 'window': FieldInfo(annotation=Point2d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['camera_drag_start'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

window: Point2d[source]
class kittycad.models.modeling_cmd.center_of_mass(**data)[source][source]

Get the center of mass of entities in the scene or the default scene.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_ids': typing.List[str], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'output_unit': <enum 'UnitLength'>, 'type': typing.Literal['center_of_mass']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.center_of_mass'>, 'config': {'title': 'center_of_mass'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.center_of_mass'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.center_of_mass'>>]}, 'ref': 'kittycad.models.modeling_cmd.center_of_mass:94192505453600', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitLength'>, 'members': [UnitLength.CM, UnitLength.FT, UnitLength.IN, UnitLength.M, UnitLength.MM, UnitLength.YD], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_length.UnitLength:94192499221680', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'center_of_mass', 'schema': {'expected': ['center_of_mass'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'center_of_mass', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d3fc20,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689565a330,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "center_of_mass",                                             },                                             expected_py: None,                                             name: "literal['center_of_mass']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "output_unit": SerField {                         key_py: Py(                             0x00007f6894e9c630,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae674e4b0,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "entity_ids": SerField {                         key_py: Py(                             0x00007f689451a2b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "center_of_mass",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="center_of_mass", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_ids",                         lookup_key: Simple {                             key: "entity_ids",                             py_key: Py(                                 0x00007f68942fce30,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_ids",                                         Py(                                             0x00007f68942fcdf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689451a2b0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "output_unit",                         lookup_key: Simple {                             key: "output_unit",                             py_key: Py(                                 0x00007f68942fceb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "output_unit",                                         Py(                                             0x00007f68942fce70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894e9c630,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae674e4b0,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "mm": 4,                                             "m": 3,                                             "yd": 5,                                             "in": 2,                                             "cm": 0,                                             "ft": 1,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f6894dbdaf0,                                         ),                                         Py(                                             0x00007f6894dbdfd0,                                         ),                                         Py(                                             0x00007f6894dbe150,                                         ),                                         Py(                                             0x00007f6894dbe1b0,                                         ),                                         Py(                                             0x00007f6894dbe210,                                         ),                                         Py(                                             0x00007f6894dbe270,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'cm', 'ft', 'in', 'm', 'mm' or 'yd'",                                 strict: false,                                 class_repr: "UnitLength",                                 name: "str-enum[UnitLength]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942e7cf0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942e7c90,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689565a330,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "center_of_mass": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689565a330,                                                 ),                                             ],                                         },                                         expected_repr: "'center_of_mass'",                                         name: "literal['center_of_mass']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['center_of_mass']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "center_of_mass",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d3fc20,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "center_of_mass",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_ids: List[str], output_unit: kittycad.models.unit_length.UnitLength, type: Literal['center_of_mass'] = 'center_of_mass') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_ids: List[str][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_ids': FieldInfo(annotation=List[str], required=True), 'output_unit': FieldInfo(annotation=UnitLength, required=True), 'type': FieldInfo(annotation=Literal['center_of_mass'], required=False, default='center_of_mass')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

output_unit: UnitLength[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['center_of_mass'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.close_path(**data)[source][source]

Closes a path, converting it to a 2D solid.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'path_id': <class 'str'>, 'type': typing.Literal['close_path']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.close_path'>, 'config': {'title': 'close_path'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.close_path'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.close_path'>>]}, 'ref': 'kittycad.models.modeling_cmd.close_path:94192504199456', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'close_path', 'schema': {'expected': ['close_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'close_path', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c0d920,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "path_id": SerField {                         key_py: Py(                             0x00007f6896dca430,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689565a870,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "close_path",                                             },                                             expected_py: None,                                             name: "literal['close_path']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "close_path",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="close_path", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "path_id",                         lookup_key: Simple {                             key: "path_id",                             py_key: Py(                                 0x00007f68944e2490,                             ),                             path: LookupPath(                                 [                                     S(                                         "path_id",                                         Py(                                             0x00007f68944e2430,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6896dca430,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944e2400,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944e23d0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689565a870,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "close_path": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689565a870,                                                 ),                                             ],                                         },                                         expected_repr: "'close_path'",                                         name: "literal['close_path']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['close_path']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "close_path",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c0d920,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "close_path",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, path_id: str, type: Literal['close_path'] = 'close_path') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'path_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['close_path'], required=False, default='close_path')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

path_id: str[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['close_path'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.curve_get_control_points(**data)[source][source]

Get control points of the given curve.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'curve_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['curve_get_control_points']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.curve_get_control_points'>, 'config': {'title': 'curve_get_control_points'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.curve_get_control_points'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.curve_get_control_points'>>]}, 'ref': 'kittycad.models.modeling_cmd.curve_get_control_points:94192505107296', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'curve_get_control_points', 'schema': {'expected': ['curve_get_control_points'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'curve_get_control_points', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6ceb360,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511a100,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "curve_get_control_points",                                             },                                             expected_py: None,                                             name: "literal['curve_get_control_points']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "curve_id": SerField {                         key_py: Py(                             0x00007f6894576bf0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "curve_get_control_points",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="curve_get_control_points", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "curve_id",                         lookup_key: Simple {                             key: "curve_id",                             py_key: Py(                                 0x00007f689424abb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "curve_id",                                         Py(                                             0x00007f689427f530,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894576bf0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894288de0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894288a50,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511a100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "curve_get_control_points": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511a100,                                                 ),                                             ],                                         },                                         expected_repr: "'curve_get_control_points'",                                         name: "literal['curve_get_control_points']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['curve_get_control_points']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "curve_get_control_points",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6ceb360,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "curve_get_control_points",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, curve_id: str, type: Literal['curve_get_control_points'] = 'curve_get_control_points') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

curve_id: str[source]
dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'curve_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['curve_get_control_points'], required=False, default='curve_get_control_points')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['curve_get_control_points'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.curve_get_end_points(**data)[source][source]

Find the start and end of a curve.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'curve_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['curve_get_end_points']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.curve_get_end_points'>, 'config': {'title': 'curve_get_end_points'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.curve_get_end_points'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.curve_get_end_points'>>]}, 'ref': 'kittycad.models.modeling_cmd.curve_get_end_points:94192496897872', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'curve_get_end_points', 'schema': {'expected': ['curve_get_end_points'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'curve_get_end_points', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6516f50,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "curve_id": SerField {                         key_py: Py(                             0x00007f6894576bf0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956deab0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "curve_get_end_points",                                             },                                             expected_py: None,                                             name: "literal['curve_get_end_points']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "curve_get_end_points",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="curve_get_end_points", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "curve_id",                         lookup_key: Simple {                             key: "curve_id",                             py_key: Py(                                 0x00007f68942d4270,                             ),                             path: LookupPath(                                 [                                     S(                                         "curve_id",                                         Py(                                             0x00007f68942d41b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894576bf0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942cea30,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942cea60,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956deab0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "curve_get_end_points": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956deab0,                                                 ),                                             ],                                         },                                         expected_repr: "'curve_get_end_points'",                                         name: "literal['curve_get_end_points']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['curve_get_end_points']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "curve_get_end_points",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6516f50,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "curve_get_end_points",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, curve_id: str, type: Literal['curve_get_end_points'] = 'curve_get_end_points') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

curve_id: str[source]
dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'curve_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['curve_get_end_points'], required=False, default='curve_get_end_points')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['curve_get_end_points'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.curve_get_type(**data)[source][source]

Get type of the given curve.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'curve_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['curve_get_type']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.curve_get_type'>, 'config': {'title': 'curve_get_type'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.curve_get_type'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.curve_get_type'>>]}, 'ref': 'kittycad.models.modeling_cmd.curve_get_type:94192505086896', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'curve_get_type', 'schema': {'expected': ['curve_get_type'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'curve_get_type', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6ce63b0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "curve_id": SerField {                         key_py: Py(                             0x00007f6894576bf0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956de9f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "curve_get_type",                                             },                                             expected_py: None,                                             name: "literal['curve_get_type']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "curve_get_type",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="curve_get_type", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "curve_id",                         lookup_key: Simple {                             key: "curve_id",                             py_key: Py(                                 0x00007f68943fc2b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "curve_id",                                         Py(                                             0x00007f689427ebf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894576bf0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894288e40,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894288e70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956de9f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "curve_get_type": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956de9f0,                                                 ),                                             ],                                         },                                         expected_repr: "'curve_get_type'",                                         name: "literal['curve_get_type']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['curve_get_type']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "curve_get_type",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6ce63b0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "curve_get_type",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, curve_id: str, type: Literal['curve_get_type'] = 'curve_get_type') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

curve_id: str[source]
dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'curve_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['curve_get_type'], required=False, default='curve_get_type')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['curve_get_type'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.curve_set_constraint(**data)[source][source]

Get the plane for sketch mode.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'constraint_bound': <enum 'PathComponentConstraintBound'>, 'constraint_type': <enum 'PathComponentConstraintType'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['curve_set_constraint']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.curve_set_constraint'>, 'config': {'title': 'curve_set_constraint'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.curve_set_constraint'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.curve_set_constraint'>>]}, 'ref': 'kittycad.models.modeling_cmd.curve_set_constraint:94192504991776', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'constraint_bound': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'PathComponentConstraintBound'>, 'members': [PathComponentConstraintBound.UNCONSTRAINED, PathComponentConstraintBound.PARTIALLY_CONSTRAINED, PathComponentConstraintBound.FULLY_CONSTRAINED], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.path_component_constraint_bound.PathComponentConstraintBound:94192503567248', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'constraint_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'PathComponentConstraintType'>, 'members': [PathComponentConstraintType.UNCONSTRAINED, PathComponentConstraintType.VERTICAL, PathComponentConstraintType.HORIZONTAL, PathComponentConstraintType.EQUAL_LENGTH, PathComponentConstraintType.PARALLEL, PathComponentConstraintType.ANGLE_BETWEEN], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.path_component_constraint_type.PathComponentConstraintType:94192503570592', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'curve_set_constraint', 'schema': {'expected': ['curve_set_constraint'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'curve_set_constraint', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6ccf020,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e5370,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "curve_set_constraint",                                             },                                             expected_py: None,                                             name: "literal['curve_set_constraint']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "constraint_bound": SerField {                         key_py: Py(                             0x00007f68944e53f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae6b73390,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "constraint_type": SerField {                         key_py: Py(                             0x00007f68944e5470,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae6b740a0,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "curve_set_constraint",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="curve_set_constraint", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "constraint_bound",                         lookup_key: Simple {                             key: "constraint_bound",                             py_key: Py(                                 0x00007f6894373370,                             ),                             path: LookupPath(                                 [                                     S(                                         "constraint_bound",                                         Py(                                             0x00007f6894249af0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e53f0,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae6b73390,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "partially_constrained": 1,                                             "fully_constrained": 2,                                             "unconstrained": 0,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f6894451730,                                         ),                                         Py(                                             0x00007f68944517f0,                                         ),                                         Py(                                             0x00007f68944518b0,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'unconstrained', 'partially_constrained' or 'fully_constrained'",                                 strict: false,                                 class_repr: "PathComponentConstraintBound",                                 name: "str-enum[PathComponentConstraintBound]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "constraint_type",                         lookup_key: Simple {                             key: "constraint_type",                             py_key: Py(                                 0x00007f6894249a70,                             ),                             path: LookupPath(                                 [                                     S(                                         "constraint_type",                                         Py(                                             0x00007f6894249b30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e5470,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae6b740a0,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "parallel": 4,                                             "vertical": 1,                                             "unconstrained": 0,                                             "horizontal": 2,                                             "equal_length": 3,                                             "angle_between": 5,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f6894451c10,                                         ),                                         Py(                                             0x00007f6894451bb0,                                         ),                                         Py(                                             0x00007f6894453530,                                         ),                                         Py(                                             0x00007f6894453590,                                         ),                                         Py(                                             0x00007f68944535f0,                                         ),                                         Py(                                             0x00007f6894453650,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'unconstrained', 'vertical', 'horizontal', 'equal_length', 'parallel' or 'angle_between'",                                 strict: false,                                 class_repr: "PathComponentConstraintType",                                 name: "str-enum[PathComponentConstraintType]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f6894249bb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f6894249ab0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942464f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942466a0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e5370,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "curve_set_constraint": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e5370,                                                 ),                                             ],                                         },                                         expected_repr: "'curve_set_constraint'",                                         name: "literal['curve_set_constraint']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['curve_set_constraint']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "curve_set_constraint",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6ccf020,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "curve_set_constraint",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, constraint_bound: kittycad.models.path_component_constraint_bound.PathComponentConstraintBound, constraint_type: kittycad.models.path_component_constraint_type.PathComponentConstraintType, object_id: str, type: Literal['curve_set_constraint'] = 'curve_set_constraint') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

constraint_bound: PathComponentConstraintBound[source]
constraint_type: PathComponentConstraintType[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'constraint_bound': FieldInfo(annotation=PathComponentConstraintBound, required=True), 'constraint_type': FieldInfo(annotation=PathComponentConstraintType, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['curve_set_constraint'], required=False, default='curve_set_constraint')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['curve_set_constraint'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.default_camera_focus_on(**data)[source][source]

Focus the default camera upon an object in the scene.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['default_camera_focus_on'], 'uuid': <class 'str'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.default_camera_focus_on'>, 'config': {'title': 'default_camera_focus_on'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_focus_on'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_focus_on'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_focus_on:94192505486448', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_focus_on', 'schema': {'expected': ['default_camera_focus_on'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'uuid': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'default_camera_focus_on', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d47c70,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956dfb70,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "default_camera_focus_on",                                             },                                             expected_py: None,                                             name: "literal['default_camera_focus_on']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "uuid": SerField {                         key_py: Py(                             0x00007f68a614a730,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "default_camera_focus_on",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="default_camera_focus_on", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894103120,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894103150,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956dfb70,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "default_camera_focus_on": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956dfb70,                                                 ),                                             ],                                         },                                         expected_repr: "'default_camera_focus_on'",                                         name: "literal['default_camera_focus_on']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['default_camera_focus_on']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "uuid",                         lookup_key: Simple {                             key: "uuid",                             py_key: Py(                                 0x00007f6894103180,                             ),                             path: LookupPath(                                 [                                     S(                                         "uuid",                                         Py(                                             0x00007f68941031b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a614a730,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                 ],                 model_name: "default_camera_focus_on",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d47c70,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "default_camera_focus_on",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['default_camera_focus_on'] = 'default_camera_focus_on', uuid: str) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['default_camera_focus_on'], required=False, default='default_camera_focus_on'), 'uuid': FieldInfo(annotation=str, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['default_camera_focus_on'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

uuid: str[source]
classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.default_camera_get_settings(**data)[source][source]

Gets the default camera’s camera settings

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['default_camera_get_settings']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.default_camera_get_settings'>, 'config': {'title': 'default_camera_get_settings'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_get_settings'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_get_settings'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_get_settings:94192501512192', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_get_settings', 'schema': {'expected': ['default_camera_get_settings'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_get_settings', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae697d800,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511a150,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "default_camera_get_settings",                                             },                                             expected_py: None,                                             name: "literal['default_camera_get_settings']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 1,             },         ),         has_extra: false,         root_model: false,         name: "default_camera_get_settings",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="default_camera_get_settings", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944ed740,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944ed770,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511a150,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "default_camera_get_settings": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511a150,                                                 ),                                             ],                                         },                                         expected_repr: "'default_camera_get_settings'",                                         name: "literal['default_camera_get_settings']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['default_camera_get_settings']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "default_camera_get_settings",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae697d800,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "default_camera_get_settings",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['default_camera_get_settings'] = 'default_camera_get_settings') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['default_camera_get_settings'], required=False, default='default_camera_get_settings')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['default_camera_get_settings'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.default_camera_look_at(**data)[source][source]

Change what the default camera is looking at.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'center': <class 'kittycad.models.point3d.Point3d'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'sequence': typing.Optional[int], 'type': typing.Literal['default_camera_look_at'], 'up': <class 'kittycad.models.point3d.Point3d'>, 'vantage': <class 'kittycad.models.point3d.Point3d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.default_camera_look_at'>, 'config': {'title': 'default_camera_look_at'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_look_at'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_look_at'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_look_at:94192503632048', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'center': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_look_at', 'schema': {'expected': ['default_camera_look_at'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'up': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'vantage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'default_camera_look_at', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6b830b0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944a83b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "default_camera_look_at",                                             },                                             expected_py: None,                                             name: "literal['default_camera_look_at']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "vantage": SerField {                         key_py: Py(                             0x00007f689449aca0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                     "sequence": SerField {                         key_py: Py(                             0x00007f68a783cc48,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Int(                                                 IntSerializer,                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "center": SerField {                         key_py: Py(                             0x00007f68a7108150,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                     "up": SerField {                         key_py: Py(                             0x00007f68a65f7900,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 5,             },         ),         has_extra: false,         root_model: false,         name: "default_camera_look_at",     }, ), definitions=[Model(ModelSerializer { class: Py(0x55aae6232b70), serializer: Fields(GeneralFieldsSerializer { fields: {"y": SerField { key_py: Py(0x7f68a783f658), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "z": SerField { key_py: Py(0x7f68a783f688), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "x": SerField { key_py: Py(0x7f68a783df18), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Point3d" })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="default_camera_look_at", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "center",                         lookup_key: Simple {                             key: "center",                             py_key: Py(                                 0x00007f68944ee7c0,                             ),                             path: LookupPath(                                 [                                     S(                                         "center",                                         Py(                                             0x00007f68944ee7f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a7108150,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "sequence",                         lookup_key: Simple {                             key: "sequence",                             py_key: Py(                                 0x00007f6894317b30,                             ),                             path: LookupPath(                                 [                                     S(                                         "sequence",                                         Py(                                             0x00007f6894317af0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783cc48,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Int(                                             IntValidator {                                                 strict: false,                                             },                                         ),                                         name: "nullable[int]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[int]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944ee820,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944ee850,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944a83b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "default_camera_look_at": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944a83b0,                                                 ),                                             ],                                         },                                         expected_repr: "'default_camera_look_at'",                                         name: "literal['default_camera_look_at']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['default_camera_look_at']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "up",                         lookup_key: Simple {                             key: "up",                             py_key: Py(                                 0x00007f68944ee880,                             ),                             path: LookupPath(                                 [                                     S(                                         "up",                                         Py(                                             0x00007f68944ee8b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a65f7900,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "vantage",                         lookup_key: Simple {                             key: "vantage",                             py_key: Py(                                 0x00007f68944ee8e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "vantage",                                         Py(                                             0x00007f68944ee910,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689449aca0,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "default_camera_look_at",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6b830b0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "default_camera_look_at",     }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f68a783f628), path: LookupPath([S("x", Py(0x7f68a783f628))]) }, name_py: Py(0x7f68a783df18), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f68a783f658), path: LookupPath([S("y", Py(0x7f68a783f658))]) }, name_py: Py(0x7f68a783f658), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f68a783f688), path: LookupPath([S("z", Py(0x7f68a783f688))]) }, name_py: Py(0x7f68a783f688), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Point3d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6232b70), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "Point3d" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, center: kittycad.models.point3d.Point3d, sequence: Optional[int] = None, type: Literal['default_camera_look_at'] = 'default_camera_look_at', up: kittycad.models.point3d.Point3d, vantage: kittycad.models.point3d.Point3d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

center: Point3d[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'center': FieldInfo(annotation=Point3d, required=True), 'sequence': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=Literal['default_camera_look_at'], required=False, default='default_camera_look_at'), 'up': FieldInfo(annotation=Point3d, required=True), 'vantage': FieldInfo(annotation=Point3d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

sequence: Optional[int][source]
type: Literal['default_camera_look_at'][source]
up: Point3d[source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

vantage: Point3d[source]
class kittycad.models.modeling_cmd.default_camera_perspective_settings(**data)[source][source]

Change what the default camera is looking at.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'center': <class 'kittycad.models.point3d.Point3d'>, 'fov_y': typing.Optional[float], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'sequence': typing.Optional[int], 'type': typing.Literal['default_camera_perspective_settings'], 'up': <class 'kittycad.models.point3d.Point3d'>, 'vantage': <class 'kittycad.models.point3d.Point3d'>, 'z_far': typing.Optional[float], 'z_near': typing.Optional[float]}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.default_camera_perspective_settings'>, 'config': {'title': 'default_camera_perspective_settings'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_perspective_settings'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_perspective_settings'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_perspective_settings:94192503640832', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'center': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'fov_y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_perspective_settings', 'schema': {'expected': ['default_camera_perspective_settings'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'up': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'vantage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'z_far': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'z_near': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_perspective_settings', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6b85300,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "z_near": SerField {                         key_py: Py(                             0x00007f689449b1e0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Float(                                                 FloatSerializer {                                                     inf_nan_mode: Null,                                                 },                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "sequence": SerField {                         key_py: Py(                             0x00007f68a783cc48,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Int(                                                 IntSerializer,                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689448ad80,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "default_camera_perspective_settings",                                             },                                             expected_py: None,                                             name: "literal['default_camera_perspective_settings']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "z_far": SerField {                         key_py: Py(                             0x00007f689449b0f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Float(                                                 FloatSerializer {                                                     inf_nan_mode: Null,                                                 },                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "fov_y": SerField {                         key_py: Py(                             0x00007f68947b24f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Float(                                                 FloatSerializer {                                                     inf_nan_mode: Null,                                                 },                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "center": SerField {                         key_py: Py(                             0x00007f68a7108150,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                     "up": SerField {                         key_py: Py(                             0x00007f68a65f7900,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                     "vantage": SerField {                         key_py: Py(                             0x00007f689449aca0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 8,             },         ),         has_extra: false,         root_model: false,         name: "default_camera_perspective_settings",     }, ), definitions=[Model(ModelSerializer { class: Py(0x55aae6232b70), serializer: Fields(GeneralFieldsSerializer { fields: {"y": SerField { key_py: Py(0x7f68a783f658), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "z": SerField { key_py: Py(0x7f68a783f688), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "x": SerField { key_py: Py(0x7f68a783df18), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Point3d" })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="default_camera_perspective_settings", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "center",                         lookup_key: Simple {                             key: "center",                             py_key: Py(                                 0x00007f68944ef030,                             ),                             path: LookupPath(                                 [                                     S(                                         "center",                                         Py(                                             0x00007f68944ef060,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a7108150,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "fov_y",                         lookup_key: Simple {                             key: "fov_y",                             py_key: Py(                                 0x00007f68944ef090,                             ),                             path: LookupPath(                                 [                                     S(                                         "fov_y",                                         Py(                                             0x00007f68944ef0c0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68947b24f0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Float(                                             FloatValidator {                                                 strict: false,                                                 allow_inf_nan: true,                                             },                                         ),                                         name: "nullable[float]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[float]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "sequence",                         lookup_key: Simple {                             key: "sequence",                             py_key: Py(                                 0x00007f6894305470,                             ),                             path: LookupPath(                                 [                                     S(                                         "sequence",                                         Py(                                             0x00007f6894305430,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783cc48,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Int(                                             IntValidator {                                                 strict: false,                                             },                                         ),                                         name: "nullable[int]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[int]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944ef0f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944ef120,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689448ad80,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "default_camera_perspective_settings": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689448ad80,                                                 ),                                             ],                                         },                                         expected_repr: "'default_camera_perspective_settings'",                                         name: "literal['default_camera_perspective_settings']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['default_camera_perspective_settings']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "up",                         lookup_key: Simple {                             key: "up",                             py_key: Py(                                 0x00007f68944ef150,                             ),                             path: LookupPath(                                 [                                     S(                                         "up",                                         Py(                                             0x00007f68944ef180,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a65f7900,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "vantage",                         lookup_key: Simple {                             key: "vantage",                             py_key: Py(                                 0x00007f68944ef1b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "vantage",                                         Py(                                             0x00007f68944ef1e0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689449aca0,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "z_far",                         lookup_key: Simple {                             key: "z_far",                             py_key: Py(                                 0x00007f68944ef210,                             ),                             path: LookupPath(                                 [                                     S(                                         "z_far",                                         Py(                                             0x00007f68944ef240,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689449b0f0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Float(                                             FloatValidator {                                                 strict: false,                                                 allow_inf_nan: true,                                             },                                         ),                                         name: "nullable[float]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[float]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "z_near",                         lookup_key: Simple {                             key: "z_near",                             py_key: Py(                                 0x00007f68944ef270,                             ),                             path: LookupPath(                                 [                                     S(                                         "z_near",                                         Py(                                             0x00007f68944ef2a0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689449b1e0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Float(                                             FloatValidator {                                                 strict: false,                                                 allow_inf_nan: true,                                             },                                         ),                                         name: "nullable[float]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[float]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "default_camera_perspective_settings",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6b85300,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "default_camera_perspective_settings",     }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f68a783f628), path: LookupPath([S("x", Py(0x7f68a783f628))]) }, name_py: Py(0x7f68a783df18), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f68a783f658), path: LookupPath([S("y", Py(0x7f68a783f658))]) }, name_py: Py(0x7f68a783f658), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f68a783f688), path: LookupPath([S("z", Py(0x7f68a783f688))]) }, name_py: Py(0x7f68a783f688), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Point3d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6232b70), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "Point3d" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, center: kittycad.models.point3d.Point3d, fov_y: Optional[float] = None, sequence: Optional[int] = None, type: Literal['default_camera_perspective_settings'] = 'default_camera_perspective_settings', up: kittycad.models.point3d.Point3d, vantage: kittycad.models.point3d.Point3d, z_far: Optional[float] = None, z_near: Optional[float] = None) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

center: Point3d[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

fov_y: Optional[float][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'center': FieldInfo(annotation=Point3d, required=True), 'fov_y': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'sequence': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=Literal['default_camera_perspective_settings'], required=False, default='default_camera_perspective_settings'), 'up': FieldInfo(annotation=Point3d, required=True), 'vantage': FieldInfo(annotation=Point3d, required=True), 'z_far': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'z_near': FieldInfo(annotation=Union[float, NoneType], required=False, default=None)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

sequence: Optional[int][source]
type: Literal['default_camera_perspective_settings'][source]
up: Point3d[source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

vantage: Point3d[source]
z_far: Optional[float][source]
z_near: Optional[float][source]
class kittycad.models.modeling_cmd.default_camera_set_orthographic(**data)[source][source]

Use orthographic projection.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['default_camera_set_orthographic']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.default_camera_set_orthographic'>, 'config': {'title': 'default_camera_set_orthographic'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_set_orthographic'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_set_orthographic'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_set_orthographic:94192505527616', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_set_orthographic', 'schema': {'expected': ['default_camera_set_orthographic'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_set_orthographic', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_focus_on': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_filter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d51d40,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e8df0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "default_camera_set_orthographic",                                             },                                             expected_py: None,                                             name: "literal['default_camera_set_orthographic']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 1,             },         ),         has_extra: false,         root_model: false,         name: "default_camera_set_orthographic",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="default_camera_set_orthographic", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689411c9c0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689411c9f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e8df0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "default_camera_set_orthographic": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e8df0,                                                 ),                                             ],                                         },                                         expected_repr: "'default_camera_set_orthographic'",                                         name: "literal['default_camera_set_orthographic']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['default_camera_set_orthographic']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "default_camera_set_orthographic",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d51d40,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "default_camera_set_orthographic",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['default_camera_set_orthographic'] = 'default_camera_set_orthographic') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['default_camera_set_orthographic'], required=False, default='default_camera_set_orthographic')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['default_camera_set_orthographic'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.default_camera_set_perspective(**data)[source][source]

Use perspective projection.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'parameters': typing.Optional[kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters], 'type': typing.Literal['default_camera_set_perspective']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.default_camera_set_perspective'>, 'config': {'title': 'default_camera_set_perspective'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_set_perspective'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_set_perspective'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_set_perspective:94192505539856', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'parameters': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters'>, 'config': {'title': 'PerspectiveCameraParameters'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters'>>]}, 'ref': 'kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters:94192501778640', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'fov_y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'z_far': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'z_near': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'PerspectiveCameraParameters', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_set_perspective', 'schema': {'expected': ['default_camera_set_perspective'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_set_perspective', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_focus_on': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_orthographic': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_filter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d54d10,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e9020,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "default_camera_set_perspective",                                             },                                             expected_py: None,                                             name: "literal['default_camera_set_perspective']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "parameters": SerField {                         key_py: Py(                             0x00007f68a69048f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Model(                                                 ModelSerializer {                                                     class: Py(                                                         0x000055aae69be8d0,                                                     ),                                                     serializer: Fields(                                                         GeneralFieldsSerializer {                                                             fields: {                                                                 "fov_y": SerField {                                                                     key_py: Py(                                                                         0x00007f68947b24f0,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         WithDefault(                                                                             WithDefaultSerializer {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68a7748100,                                                                                     ),                                                                                 ),                                                                                 serializer: Nullable(                                                                                     NullableSerializer {                                                                                         serializer: Float(                                                                                             FloatSerializer {                                                                                                 inf_nan_mode: Null,                                                                                             },                                                                                         ),                                                                                     },                                                                                 ),                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "z_far": SerField {                                                                     key_py: Py(                                                                         0x00007f689449b0f0,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         WithDefault(                                                                             WithDefaultSerializer {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68a7748100,                                                                                     ),                                                                                 ),                                                                                 serializer: Nullable(                                                                                     NullableSerializer {                                                                                         serializer: Float(                                                                                             FloatSerializer {                                                                                                 inf_nan_mode: Null,                                                                                             },                                                                                         ),                                                                                     },                                                                                 ),                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "z_near": SerField {                                                                     key_py: Py(                                                                         0x00007f689449b1e0,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         WithDefault(                                                                             WithDefaultSerializer {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68a7748100,                                                                                     ),                                                                                 ),                                                                                 serializer: Nullable(                                                                                     NullableSerializer {                                                                                         serializer: Float(                                                                                             FloatSerializer {                                                                                                 inf_nan_mode: Null,                                                                                             },                                                                                         ),                                                                                     },                                                                                 ),                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                             },                                                             computed_fields: Some(                                                                 ComputedFields(                                                                     [],                                                                 ),                                                             ),                                                             mode: SimpleDict,                                                             extra_serializer: None,                                                             filter: SchemaFilter {                                                                 include: None,                                                                 exclude: None,                                                             },                                                             required_fields: 3,                                                         },                                                     ),                                                     has_extra: false,                                                     root_model: false,                                                     name: "PerspectiveCameraParameters",                                                 },                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "default_camera_set_perspective",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="default_camera_set_perspective", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "parameters",                         lookup_key: Simple {                             key: "parameters",                             py_key: Py(                                 0x00007f6894115c30,                             ),                             path: LookupPath(                                 [                                     S(                                         "parameters",                                         Py(                                             0x00007f6894115bf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a69048f0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Model(                                             ModelValidator {                                                 revalidate: Never,                                                 validator: ModelFields(                                                     ModelFieldsValidator {                                                         fields: [                                                             Field {                                                                 name: "fov_y",                                                                 lookup_key: Simple {                                                                     key: "fov_y",                                                                     py_key: Py(                                                                         0x00007f6894102ee0,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "fov_y",                                                                                 Py(                                                                                     0x00007f6894102f70,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68947b24f0,                                                                 ),                                                                 validator: WithDefault(                                                                     WithDefaultValidator {                                                                         default: Default(                                                                             Py(                                                                                 0x00007f68a7748100,                                                                             ),                                                                         ),                                                                         on_error: Raise,                                                                         validator: Nullable(                                                                             NullableValidator {                                                                                 validator: Float(                                                                                     FloatValidator {                                                                                         strict: false,                                                                                         allow_inf_nan: true,                                                                                     },                                                                                 ),                                                                                 name: "nullable[float]",                                                                             },                                                                         ),                                                                         validate_default: false,                                                                         copy_default: false,                                                                         name: "default[nullable[float]]",                                                                         undefined: Py(                                                                             0x00007f6896b91e70,                                                                         ),                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "z_far",                                                                 lookup_key: Simple {                                                                     key: "z_far",                                                                     py_key: Py(                                                                         0x00007f6894103000,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "z_far",                                                                                 Py(                                                                                     0x00007f6894102eb0,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f689449b0f0,                                                                 ),                                                                 validator: WithDefault(                                                                     WithDefaultValidator {                                                                         default: Default(                                                                             Py(                                                                                 0x00007f68a7748100,                                                                             ),                                                                         ),                                                                         on_error: Raise,                                                                         validator: Nullable(                                                                             NullableValidator {                                                                                 validator: Float(                                                                                     FloatValidator {                                                                                         strict: false,                                                                                         allow_inf_nan: true,                                                                                     },                                                                                 ),                                                                                 name: "nullable[float]",                                                                             },                                                                         ),                                                                         validate_default: false,                                                                         copy_default: false,                                                                         name: "default[nullable[float]]",                                                                         undefined: Py(                                                                             0x00007f6896b91e70,                                                                         ),                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "z_near",                                                                 lookup_key: Simple {                                                                     key: "z_near",                                                                     py_key: Py(                                                                         0x00007f6894102e20,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "z_near",                                                                                 Py(                                                                                     0x00007f6894102d30,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f689449b1e0,                                                                 ),                                                                 validator: WithDefault(                                                                     WithDefaultValidator {                                                                         default: Default(                                                                             Py(                                                                                 0x00007f68a7748100,                                                                             ),                                                                         ),                                                                         on_error: Raise,                                                                         validator: Nullable(                                                                             NullableValidator {                                                                                 validator: Float(                                                                                     FloatValidator {                                                                                         strict: false,                                                                                         allow_inf_nan: true,                                                                                     },                                                                                 ),                                                                                 name: "nullable[float]",                                                                             },                                                                         ),                                                                         validate_default: false,                                                                         copy_default: false,                                                                         name: "default[nullable[float]]",                                                                         undefined: Py(                                                                             0x00007f6896b91e70,                                                                         ),                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                         ],                                                         model_name: "PerspectiveCameraParameters",                                                         extra_behavior: Ignore,                                                         extras_validator: None,                                                         strict: false,                                                         from_attributes: false,                                                         loc_by_alias: true,                                                     },                                                 ),                                                 class: Py(                                                     0x000055aae69be8d0,                                                 ),                                                 post_init: None,                                                 frozen: false,                                                 custom_init: false,                                                 root_model: false,                                                 undefined: Py(                                                     0x00007f6896b91e70,                                                 ),                                                 name: "PerspectiveCameraParameters",                                             },                                         ),                                         name: "nullable[PerspectiveCameraParameters]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[PerspectiveCameraParameters]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894102e80,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894102f40,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e9020,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "default_camera_set_perspective": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e9020,                                                 ),                                             ],                                         },                                         expected_repr: "'default_camera_set_perspective'",                                         name: "literal['default_camera_set_perspective']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['default_camera_set_perspective']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "default_camera_set_perspective",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d54d10,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "default_camera_set_perspective",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, parameters: Optional[kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters] = None, type: Literal['default_camera_set_perspective'] = 'default_camera_set_perspective') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'parameters': FieldInfo(annotation=Union[PerspectiveCameraParameters, NoneType], required=False, default=None), 'type': FieldInfo(annotation=Literal['default_camera_set_perspective'], required=False, default='default_camera_set_perspective')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

parameters: Optional[PerspectiveCameraParameters][source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['default_camera_set_perspective'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.default_camera_zoom(**data)[source][source]

Adjust zoom of the default camera.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'magnitude': <class 'float'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['default_camera_zoom']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.default_camera_zoom'>, 'config': {'title': 'default_camera_zoom'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_zoom'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_zoom'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_zoom:94192503662800', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'magnitude': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_zoom', 'schema': {'expected': ['default_camera_zoom'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_zoom', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6b8a8d0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "magnitude": SerField {                         key_py: Py(                             0x00007f68986198f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956dfe30,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "default_camera_zoom",                                             },                                             expected_py: None,                                             name: "literal['default_camera_zoom']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "default_camera_zoom",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="default_camera_zoom", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "magnitude",                         lookup_key: Simple {                             key: "magnitude",                             py_key: Py(                                 0x00007f6894306070,                             ),                             path: LookupPath(                                 [                                     S(                                         "magnitude",                                         Py(                                             0x00007f6894305f30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68986198f0,                         ),                         validator: Float(                             FloatValidator {                                 strict: false,                                 allow_inf_nan: true,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944da520,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944da550,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956dfe30,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "default_camera_zoom": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956dfe30,                                                 ),                                             ],                                         },                                         expected_repr: "'default_camera_zoom'",                                         name: "literal['default_camera_zoom']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['default_camera_zoom']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "default_camera_zoom",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6b8a8d0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "default_camera_zoom",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, magnitude: float, type: Literal['default_camera_zoom'] = 'default_camera_zoom') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

magnitude: float[source]
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'magnitude': FieldInfo(annotation=float, required=True), 'type': FieldInfo(annotation=Literal['default_camera_zoom'], required=False, default='default_camera_zoom')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['default_camera_zoom'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.density(**data)[source][source]

Get the density of entities in the scene or the default scene.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_ids': typing.List[str], 'material_mass': <class 'float'>, 'material_mass_unit': <enum 'UnitMass'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'output_unit': <enum 'UnitDensity'>, 'type': typing.Literal['density']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.density'>, 'config': {'title': 'density'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.density'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.density'>>]}, 'ref': 'kittycad.models.modeling_cmd.density:94192505423440', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'material_mass': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'material_mass_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitMass'>, 'members': [UnitMass.G, UnitMass.KG, UnitMass.LB], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_mass.UnitMass:94192494759968', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitDensity'>, 'members': [UnitDensity.LB_FT3, UnitDensity.KG_M3], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_density.UnitDensity:94192494758976', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'density', 'schema': {'expected': ['density'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'density', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d38650,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "output_unit": SerField {                         key_py: Py(                             0x00007f6894e9c630,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae630cc40,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "material_mass": SerField {                         key_py: Py(                             0x00007f6894eaa6b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a5955fe0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "density",                                             },                                             expected_py: None,                                             name: "literal['density']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "entity_ids": SerField {                         key_py: Py(                             0x00007f689451a2b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                     "material_mass_unit": SerField {                         key_py: Py(                             0x00007f6894ea9870,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae630d020,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 5,             },         ),         has_extra: false,         root_model: false,         name: "density",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="density", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_ids",                         lookup_key: Simple {                             key: "entity_ids",                             py_key: Py(                                 0x00007f68944660b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_ids",                                         Py(                                             0x00007f6894656cb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689451a2b0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "material_mass",                         lookup_key: Simple {                             key: "material_mass",                             py_key: Py(                                 0x00007f68942c17f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "material_mass",                                         Py(                                             0x00007f68942c3fb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894eaa6b0,                         ),                         validator: Float(                             FloatValidator {                                 strict: false,                                 allow_inf_nan: true,                             },                         ),                         frozen: false,                     },                     Field {                         name: "material_mass_unit",                         lookup_key: Simple {                             key: "material_mass_unit",                             py_key: Py(                                 0x00007f68942d7bb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "material_mass_unit",                                         Py(                                             0x00007f68942d7bf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894ea9870,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae630d020,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "kg": 1,                                             "g": 0,                                             "lb": 2,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f68947ace30,                                         ),                                         Py(                                             0x00007f68947ace90,                                         ),                                         Py(                                             0x00007f68947acef0,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'g', 'kg' or 'lb'",                                 strict: false,                                 class_repr: "UnitMass",                                 name: "str-enum[UnitMass]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "output_unit",                         lookup_key: Simple {                             key: "output_unit",                             py_key: Py(                                 0x00007f68942d6430,                             ),                             path: LookupPath(                                 [                                     S(                                         "output_unit",                                         Py(                                             0x00007f68942d7c70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894e9c630,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae630cc40,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "kg:m3": 1,                                             "lb:ft3": 0,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f68947acd10,                                         ),                                         Py(                                             0x00007f68947acd70,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'lb:ft3' or 'kg:m3'",                                 strict: false,                                 class_repr: "UnitDensity",                                 name: "str-enum[UnitDensity]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942e7e40,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942e7ea0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a5955fe0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "density": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68a5955fe0,                                                 ),                                             ],                                         },                                         expected_repr: "'density'",                                         name: "literal['density']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['density']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "density",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d38650,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "density",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_ids: List[str], material_mass: float, material_mass_unit: kittycad.models.unit_mass.UnitMass, output_unit: kittycad.models.unit_density.UnitDensity, type: Literal['density'] = 'density') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_ids: List[str][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

material_mass: float[source]
material_mass_unit: UnitMass[source]
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_ids': FieldInfo(annotation=List[str], required=True), 'material_mass': FieldInfo(annotation=float, required=True), 'material_mass_unit': FieldInfo(annotation=UnitMass, required=True), 'output_unit': FieldInfo(annotation=UnitDensity, required=True), 'type': FieldInfo(annotation=Literal['density'], required=False, default='density')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

output_unit: UnitDensity[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['density'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.edge_lines_visible(**data)[source][source]

Changes visibility of scene-wide edge lines on brep solids

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'hidden': <class 'bool'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['edge_lines_visible']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.edge_lines_visible'>, 'config': {'title': 'edge_lines_visible'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.edge_lines_visible'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.edge_lines_visible'>>]}, 'ref': 'kittycad.models.modeling_cmd.edge_lines_visible:94192504490432', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'hidden': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'edge_lines_visible', 'schema': {'expected': ['edge_lines_visible'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'edge_lines_visible', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c549c0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944bacf0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "edge_lines_visible",                                             },                                             expected_py: None,                                             name: "literal['edge_lines_visible']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "hidden": SerField {                         key_py: Py(                             0x00007f68a5ff9140,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "edge_lines_visible",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="edge_lines_visible", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "hidden",                         lookup_key: Simple {                             key: "hidden",                             py_key: Py(                                 0x00007f68943a72a0,                             ),                             path: LookupPath(                                 [                                     S(                                         "hidden",                                         Py(                                             0x00007f68943a7360,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a5ff9140,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943a7390,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943a73c0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944bacf0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "edge_lines_visible": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944bacf0,                                                 ),                                             ],                                         },                                         expected_repr: "'edge_lines_visible'",                                         name: "literal['edge_lines_visible']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['edge_lines_visible']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "edge_lines_visible",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c549c0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "edge_lines_visible",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, hidden: bool, type: Literal['edge_lines_visible'] = 'edge_lines_visible') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

hidden: bool[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'hidden': FieldInfo(annotation=bool, required=True), 'type': FieldInfo(annotation=Literal['edge_lines_visible'], required=False, default='edge_lines_visible')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['edge_lines_visible'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.edit_mode_enter(**data)[source][source]

Enter edit mode

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'target': <class 'str'>, 'type': typing.Literal['edit_mode_enter']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.edit_mode_enter'>, 'config': {'title': 'edit_mode_enter'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.edit_mode_enter'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.edit_mode_enter'>>]}, 'ref': 'kittycad.models.modeling_cmd.edit_mode_enter:94192504326480', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'target': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'edit_mode_enter', 'schema': {'expected': ['edit_mode_enter'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'edit_mode_enter', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c2c950,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "target": SerField {                         key_py: Py(                             0x00007f68a783d540,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944b9ab0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "edit_mode_enter",                                             },                                             expected_py: None,                                             name: "literal['edit_mode_enter']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "edit_mode_enter",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="edit_mode_enter", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "target",                         lookup_key: Simple {                             key: "target",                             py_key: Py(                                 0x00007f689436a430,                             ),                             path: LookupPath(                                 [                                     S(                                         "target",                                         Py(                                             0x00007f689436a3d0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783d540,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689436a400,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689436a580,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944b9ab0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "edit_mode_enter": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944b9ab0,                                                 ),                                             ],                                         },                                         expected_repr: "'edit_mode_enter'",                                         name: "literal['edit_mode_enter']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['edit_mode_enter']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "edit_mode_enter",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c2c950,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "edit_mode_enter",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, target: str, type: Literal['edit_mode_enter'] = 'edit_mode_enter') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'target': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['edit_mode_enter'], required=False, default='edit_mode_enter')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

target: str[source]
type: Literal['edit_mode_enter'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.edit_mode_exit(**data)[source][source]

Exit edit mode

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['edit_mode_exit']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.edit_mode_exit'>, 'config': {'title': 'edit_mode_exit'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.edit_mode_exit'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.edit_mode_exit'>>]}, 'ref': 'kittycad.models.modeling_cmd.edit_mode_exit:94192505602336', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'edit_mode_exit', 'schema': {'expected': ['edit_mode_exit'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'edit_mode_exit', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_focus_on': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_orthographic': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_perspective': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_filter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_extrusion_face_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'view_isometric': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>, 'zoom_to_fit': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d64120,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68943306f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "edit_mode_exit",                                             },                                             expected_py: None,                                             name: "literal['edit_mode_exit']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 1,             },         ),         has_extra: false,         root_model: false,         name: "edit_mode_exit",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="edit_mode_exit", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68941359b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68941359e0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68943306f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "edit_mode_exit": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68943306f0,                                                 ),                                             ],                                         },                                         expected_repr: "'edit_mode_exit'",                                         name: "literal['edit_mode_exit']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['edit_mode_exit']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "edit_mode_exit",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d64120,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "edit_mode_exit",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['edit_mode_exit'] = 'edit_mode_exit') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['edit_mode_exit'], required=False, default='edit_mode_exit')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['edit_mode_exit'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.enable_sketch_mode(**data)[source][source]

Sketch on some entity (e.g. a plane, a face).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'adjust_camera': <class 'bool'>, 'animated': <class 'bool'>, 'entity_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'ortho': <class 'bool'>, 'planar_normal': typing.Optional[kittycad.models.point3d.Point3d], 'type': typing.Literal['enable_sketch_mode']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.enable_sketch_mode'>, 'config': {'title': 'enable_sketch_mode'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.enable_sketch_mode'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.enable_sketch_mode'>>]}, 'ref': 'kittycad.models.modeling_cmd.enable_sketch_mode:94192505002480', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'adjust_camera': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'animated': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'ortho': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'planar_normal': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'enable_sketch_mode', 'schema': {'expected': ['enable_sketch_mode'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'enable_sketch_mode', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cd19f0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "ortho": SerField {                         key_py: Py(                             0x00007f68955523d0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "animated": SerField {                         key_py: Py(                             0x00007f68956780b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "adjust_camera": SerField {                         key_py: Py(                             0x00007f68944e56b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "planar_normal": SerField {                         key_py: Py(                             0x00007f68944e5730,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Model(                                                 ModelSerializer {                                                     class: Py(                                                         0x000055aae6232b70,                                                     ),                                                     serializer: Fields(                                                         GeneralFieldsSerializer {                                                             fields: {                                                                 "z": SerField {                                                                     key_py: Py(                                                                         0x00007f68a783f688,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "x": SerField {                                                                     key_py: Py(                                                                         0x00007f68a783df18,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "y": SerField {                                                                     key_py: Py(                                                                         0x00007f68a783f658,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                             },                                                             computed_fields: Some(                                                                 ComputedFields(                                                                     [],                                                                 ),                                                             ),                                                             mode: SimpleDict,                                                             extra_serializer: None,                                                             filter: SchemaFilter {                                                                 include: None,                                                                 exclude: None,                                                             },                                                             required_fields: 3,                                                         },                                                     ),                                                     has_extra: false,                                                     root_model: false,                                                     name: "Point3d",                                                 },                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e5670,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "enable_sketch_mode",                                             },                                             expected_py: None,                                             name: "literal['enable_sketch_mode']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 6,             },         ),         has_extra: false,         root_model: false,         name: "enable_sketch_mode",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="enable_sketch_mode", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "adjust_camera",                         lookup_key: Simple {                             key: "adjust_camera",                             py_key: Py(                                 0x00007f6894654170,                             ),                             path: LookupPath(                                 [                                     S(                                         "adjust_camera",                                         Py(                                             0x00007f6894263470,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e56b0,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "animated",                         lookup_key: Simple {                             key: "animated",                             py_key: Py(                                 0x00007f68942634f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "animated",                                         Py(                                             0x00007f68942634b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68956780b0,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f6894263530,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f6894263570,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "ortho",                         lookup_key: Simple {                             key: "ortho",                             py_key: Py(                                 0x00007f6894256dc0,                             ),                             path: LookupPath(                                 [                                     S(                                         "ortho",                                         Py(                                             0x00007f6894256df0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68955523d0,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "planar_normal",                         lookup_key: Simple {                             key: "planar_normal",                             py_key: Py(                                 0x00007f68942635b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "planar_normal",                                         Py(                                             0x00007f68942635f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e5730,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Model(                                             ModelValidator {                                                 revalidate: Never,                                                 validator: ModelFields(                                                     ModelFieldsValidator {                                                         fields: [                                                             Field {                                                                 name: "x",                                                                 lookup_key: Simple {                                                                     key: "x",                                                                     py_key: Py(                                                                         0x00007f68a783f628,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "x",                                                                                 Py(                                                                                     0x00007f68a783f628,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a783df18,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "y",                                                                 lookup_key: Simple {                                                                     key: "y",                                                                     py_key: Py(                                                                         0x00007f68a783f658,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "y",                                                                                 Py(                                                                                     0x00007f68a783f658,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a783f658,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "z",                                                                 lookup_key: Simple {                                                                     key: "z",                                                                     py_key: Py(                                                                         0x00007f68a783f688,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "z",                                                                                 Py(                                                                                     0x00007f68a783f688,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a783f688,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                         ],                                                         model_name: "Point3d",                                                         extra_behavior: Ignore,                                                         extras_validator: None,                                                         strict: false,                                                         from_attributes: false,                                                         loc_by_alias: true,                                                     },                                                 ),                                                 class: Py(                                                     0x000055aae6232b70,                                                 ),                                                 post_init: None,                                                 frozen: false,                                                 custom_init: false,                                                 root_model: false,                                                 undefined: Py(                                                     0x00007f6896b91e70,                                                 ),                                                 name: "Point3d",                                             },                                         ),                                         name: "nullable[Point3d]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[Point3d]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894256e20,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894256e50,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e5670,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "enable_sketch_mode": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e5670,                                                 ),                                             ],                                         },                                         expected_repr: "'enable_sketch_mode'",                                         name: "literal['enable_sketch_mode']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['enable_sketch_mode']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "enable_sketch_mode",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cd19f0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "enable_sketch_mode",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, adjust_camera: bool, animated: bool, entity_id: str, ortho: bool, planar_normal: Optional[kittycad.models.point3d.Point3d] = None, type: Literal['enable_sketch_mode'] = 'enable_sketch_mode') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

adjust_camera: bool[source]
animated: bool[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'adjust_camera': FieldInfo(annotation=bool, required=True), 'animated': FieldInfo(annotation=bool, required=True), 'entity_id': FieldInfo(annotation=str, required=True), 'ortho': FieldInfo(annotation=bool, required=True), 'planar_normal': FieldInfo(annotation=Union[Point3d, NoneType], required=False, default=None), 'type': FieldInfo(annotation=Literal['enable_sketch_mode'], required=False, default='enable_sketch_mode')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

ortho: bool[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

planar_normal: Optional[Point3d][source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['enable_sketch_mode'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_circular_pattern(**data)[source][source]

Create a circular pattern using this entity.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'arc_degrees': <class 'float'>, 'axis': <class 'kittycad.models.point3d.Point3d'>, 'center': <class 'kittycad.models.point3d.Point3d'>, 'entity_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'num_repetitions': <class 'int'>, 'rotate_duplicates': <class 'bool'>, 'type': typing.Literal['entity_circular_pattern']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.entity_circular_pattern'>, 'config': {'title': 'entity_circular_pattern'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_circular_pattern'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_circular_pattern'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_circular_pattern:94192503946192', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'arc_degrees': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'center': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'num_repetitions': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'rotate_duplicates': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_circular_pattern', 'schema': {'expected': ['entity_circular_pattern'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_circular_pattern', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6bcfbd0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "num_repetitions": SerField {                         key_py: Py(                             0x00007f68944b9230,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Int(                                 IntSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956dd970,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_circular_pattern",                                             },                                             expected_py: None,                                             name: "literal['entity_circular_pattern']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "rotate_duplicates": SerField {                         key_py: Py(                             0x00007f68944b94b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "arc_degrees": SerField {                         key_py: Py(                             0x00007f68944b93f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "axis": SerField {                         key_py: Py(                             0x00007f68a6005320,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                     "center": SerField {                         key_py: Py(                             0x00007f68a7108150,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 7,             },         ),         has_extra: false,         root_model: false,         name: "entity_circular_pattern",     }, ), definitions=[Model(ModelSerializer { class: Py(0x55aae6232b70), serializer: Fields(GeneralFieldsSerializer { fields: {"y": SerField { key_py: Py(0x7f68a783f658), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "x": SerField { key_py: Py(0x7f68a783df18), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "z": SerField { key_py: Py(0x7f68a783f688), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Point3d" })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_circular_pattern", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "arc_degrees",                         lookup_key: Simple {                             key: "arc_degrees",                             py_key: Py(                                 0x00007f6894366030,                             ),                             path: LookupPath(                                 [                                     S(                                         "arc_degrees",                                         Py(                                             0x00007f6894365ff0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b93f0,                         ),                         validator: Float(                             FloatValidator {                                 strict: false,                                 allow_inf_nan: true,                             },                         ),                         frozen: false,                     },                     Field {                         name: "axis",                         lookup_key: Simple {                             key: "axis",                             py_key: Py(                                 0x00007f68943688d0,                             ),                             path: LookupPath(                                 [                                     S(                                         "axis",                                         Py(                                             0x00007f6894368900,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a6005320,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "center",                         lookup_key: Simple {                             key: "center",                             py_key: Py(                                 0x00007f6894368930,                             ),                             path: LookupPath(                                 [                                     S(                                         "center",                                         Py(                                             0x00007f6894368960,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a7108150,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f68943660b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f6894366070,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "num_repetitions",                         lookup_key: Simple {                             key: "num_repetitions",                             py_key: Py(                                 0x00007f68943660f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "num_repetitions",                                         Py(                                             0x00007f6894366130,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b9230,                         ),                         validator: Int(                             IntValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "rotate_duplicates",                         lookup_key: Simple {                             key: "rotate_duplicates",                             py_key: Py(                                 0x00007f6894366170,                             ),                             path: LookupPath(                                 [                                     S(                                         "rotate_duplicates",                                         Py(                                             0x00007f68943661b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b94b0,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894368990,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943689c0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956dd970,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_circular_pattern": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956dd970,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_circular_pattern'",                                         name: "literal['entity_circular_pattern']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_circular_pattern']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_circular_pattern",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6bcfbd0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_circular_pattern",     }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f68a783f628), path: LookupPath([S("x", Py(0x7f68a783f628))]) }, name_py: Py(0x7f68a783df18), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f68a783f658), path: LookupPath([S("y", Py(0x7f68a783f658))]) }, name_py: Py(0x7f68a783f658), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f68a783f688), path: LookupPath([S("z", Py(0x7f68a783f688))]) }, name_py: Py(0x7f68a783f688), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Point3d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6232b70), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "Point3d" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, arc_degrees: float, axis: kittycad.models.point3d.Point3d, center: kittycad.models.point3d.Point3d, entity_id: str, num_repetitions: int, rotate_duplicates: bool, type: Literal['entity_circular_pattern'] = 'entity_circular_pattern') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

arc_degrees: float[source]
axis: Point3d[source]
center: Point3d[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'arc_degrees': FieldInfo(annotation=float, required=True), 'axis': FieldInfo(annotation=Point3d, required=True), 'center': FieldInfo(annotation=Point3d, required=True), 'entity_id': FieldInfo(annotation=str, required=True), 'num_repetitions': FieldInfo(annotation=int, required=True), 'rotate_duplicates': FieldInfo(annotation=bool, required=True), 'type': FieldInfo(annotation=Literal['entity_circular_pattern'], required=False, default='entity_circular_pattern')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

num_repetitions: int[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

rotate_duplicates: bool[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['entity_circular_pattern'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_fade(**data)[source][source]

Fade entity in or out.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'duration_seconds': <class 'float'>, 'entity_id': <class 'str'>, 'fade_in': <class 'bool'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['entity_fade']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.entity_fade'>, 'config': {'title': 'entity_fade'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_fade'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_fade'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_fade:94192504853744', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'duration_seconds': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 0.4000000059604645, 'schema': {'type': 'float'}, 'type': 'default'}, 'type': 'model-field'}, 'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'fade_in': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_fade', 'schema': {'expected': ['entity_fade'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_fade', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cad4f0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "fade_in": SerField {                         key_py: Py(                             0x00007f68944e0bd0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e46b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_fade",                                             },                                             expected_py: None,                                             name: "literal['entity_fade']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "duration_seconds": SerField {                         key_py: Py(                             0x00007f68944e47b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689459a370,                                         ),                                     ),                                     serializer: Float(                                         FloatSerializer {                                             inf_nan_mode: Null,                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "entity_fade",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_fade", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "duration_seconds",                         lookup_key: Simple {                             key: "duration_seconds",                             py_key: Py(                                 0x00007f68942201b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "duration_seconds",                                         Py(                                             0x00007f6894220170,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e47b0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689459a370,                                     ),                                 ),                                 on_error: Raise,                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[float]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f6894220230,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f68942201f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "fade_in",                         lookup_key: Simple {                             key: "fade_in",                             py_key: Py(                                 0x00007f689421a250,                             ),                             path: LookupPath(                                 [                                     S(                                         "fade_in",                                         Py(                                             0x00007f689421a280,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e0bd0,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689421a2b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689421a2e0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e46b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_fade": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e46b0,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_fade'",                                         name: "literal['entity_fade']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_fade']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_fade",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cad4f0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_fade",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, duration_seconds: float = 0.4000000059604645, entity_id: str, fade_in: bool, type: Literal['entity_fade'] = 'entity_fade') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

duration_seconds: float[source]
entity_id: str[source]
fade_in: bool[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'duration_seconds': FieldInfo(annotation=float, required=False, default=0.4000000059604645), 'entity_id': FieldInfo(annotation=str, required=True), 'fade_in': FieldInfo(annotation=bool, required=True), 'type': FieldInfo(annotation=Literal['entity_fade'], required=False, default='entity_fade')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['entity_fade'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_get_all_child_uuids(**data)[source][source]

What are all UUIDs of this entity’s children?

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['entity_get_all_child_uuids']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.entity_get_all_child_uuids'>, 'config': {'title': 'entity_get_all_child_uuids'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_all_child_uuids'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_all_child_uuids'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_all_child_uuids:94192503847200', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_all_child_uuids', 'schema': {'expected': ['entity_get_all_child_uuids'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_all_child_uuids', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6bb7920,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511a6f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_get_all_child_uuids",                                             },                                             expected_py: None,                                             name: "literal['entity_get_all_child_uuids']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "entity_get_all_child_uuids",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_get_all_child_uuids", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f6894339a70,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f6894339830,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689434b3f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689434b420,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511a6f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_get_all_child_uuids": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511a6f0,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_get_all_child_uuids'",                                         name: "literal['entity_get_all_child_uuids']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_get_all_child_uuids']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_get_all_child_uuids",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6bb7920,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_get_all_child_uuids",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_id: str, type: Literal['entity_get_all_child_uuids'] = 'entity_get_all_child_uuids') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['entity_get_all_child_uuids'], required=False, default='entity_get_all_child_uuids')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['entity_get_all_child_uuids'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_get_child_uuid(**data)[source][source]

What is the UUID of this entity’s n-th child?

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'child_index': <class 'int'>, 'entity_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['entity_get_child_uuid']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.entity_get_child_uuid'>, 'config': {'title': 'entity_get_child_uuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_child_uuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_child_uuid'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_child_uuid:94192503837056', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'child_index': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_child_uuid', 'schema': {'expected': ['entity_get_child_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_child_uuid', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6bb5180,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956df1b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_get_child_uuid",                                             },                                             expected_py: None,                                             name: "literal['entity_get_child_uuid']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "child_index": SerField {                         key_py: Py(                             0x00007f68944b8b70,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Int(                                 IntSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "entity_get_child_uuid",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_get_child_uuid", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "child_index",                         lookup_key: Simple {                             key: "child_index",                             py_key: Py(                                 0x00007f6894307070,                             ),                             path: LookupPath(                                 [                                     S(                                         "child_index",                                         Py(                                             0x00007f6894304830,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b8b70,                         ),                         validator: Int(                             IntValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f68943069f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f6894305af0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944eebb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944eefa0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956df1b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_get_child_uuid": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956df1b0,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_get_child_uuid'",                                         name: "literal['entity_get_child_uuid']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_get_child_uuid']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_get_child_uuid",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6bb5180,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_get_child_uuid",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, child_index: int, entity_id: str, type: Literal['entity_get_child_uuid'] = 'entity_get_child_uuid') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

child_index: int[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'child_index': FieldInfo(annotation=int, required=True), 'entity_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['entity_get_child_uuid'], required=False, default='entity_get_child_uuid')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['entity_get_child_uuid'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_get_distance(**data)[source][source]

What is the distance between these two entities?

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'distance_type': <class 'pydantic.root_model.RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'entity_id1': <class 'str'>, 'entity_id2': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['entity_get_distance']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.entity_get_distance'>, 'config': {'title': 'entity_get_distance'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_distance'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_distance'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_distance:94192503867440', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'distance_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94192496630560[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:140087142753264]", 'root_model': True, 'schema': {'choices': {'euclidean': {'cls': <class 'kittycad.models.distance_type.euclidean'>, 'config': {'title': 'euclidean'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.distance_type.euclidean'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.distance_type.euclidean'>>]}, 'ref': 'kittycad.models.distance_type.euclidean:94192501915504', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'euclidean', 'schema': {'expected': ['euclidean'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'euclidean', 'type': 'model-fields'}, 'type': 'model'}, 'on_axis': {'cls': <class 'kittycad.models.distance_type.on_axis'>, 'config': {'title': 'on_axis'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.distance_type.on_axis'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.distance_type.on_axis'>>]}, 'ref': 'kittycad.models.distance_type.on_axis:94192501920816', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'GlobalAxis'>, 'members': [GlobalAxis.X, GlobalAxis.Y, GlobalAxis.Z], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.global_axis.GlobalAxis:94192501911344', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'on_axis', 'schema': {'expected': ['on_axis'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'on_axis', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'entity_id1': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'entity_id2': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_distance', 'schema': {'expected': ['entity_get_distance'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_distance', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6bbc830,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "entity_id1": SerField {                         key_py: Py(                             0x00007f68944b8fb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "entity_id2": SerField {                         key_py: Py(                             0x00007f68944b8ff0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956dde30,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_get_distance",                                             },                                             expected_py: None,                                             name: "literal['entity_get_distance']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "distance_type": SerField {                         key_py: Py(                             0x00007f68956dd270,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae69e5260,                                     ),                                     serializer: Union(                                         UnionSerializer {                                             choices: [                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae69dff70,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f689450ee70,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "euclidean",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['euclidean']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 1,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "euclidean",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae69e1430,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68946184b0,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "on_axis",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['on_axis']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "axis": SerField {                                                                         key_py: Py(                                                                             0x00007f68a6005320,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Enum(                                                                                 EnumSerializer {                                                                                     class: Py(                                                                                         0x000055aae69def30,                                                                                     ),                                                                                     serializer: Some(                                                                                         Str(                                                                                             StrSerializer,                                                                                         ),                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 2,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "on_axis",                                                     },                                                 ),                                             ],                                             name: "Union[euclidean, on_axis]",                                         },                                     ),                                     has_extra: false,                                     root_model: true,                                     name: "RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "entity_get_distance",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_get_distance", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "distance_type",                         lookup_key: Simple {                             key: "distance_type",                             py_key: Py(                                 0x00007f689435cd30,                             ),                             path: LookupPath(                                 [                                     S(                                         "distance_type",                                         Py(                                             0x00007f689435ccf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68956dd270,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: TaggedUnion(                                     TaggedUnionValidator {                                         discriminator: LookupKey(                                             Simple {                                                 key: "type",                                                 py_key: Py(                                                     0x00007f68a783da58,                                                 ),                                                 path: LookupPath(                                                     [                                                         S(                                                             "type",                                                             Py(                                                                 0x00007f68a783da58,                                                             ),                                                         ),                                                     ],                                                 ),                                             },                                         ),                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "on_axis": 1,                                                     "euclidean": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f6894355590,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68943555c0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f689450ee70,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "euclidean": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f689450ee70,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'euclidean'",                                                                                         name: "literal['euclidean']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['euclidean']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "euclidean",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae69dff70,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "euclidean",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "axis",                                                                         lookup_key: Simple {                                                                             key: "axis",                                                                             py_key: Py(                                                                                 0x00007f6894355680,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "axis",                                                                                         Py(                                                                                             0x00007f6894355650,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a6005320,                                                                         ),                                                                         validator: StrEnum(                                                                             EnumValidator {                                                                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                                                 class: Py(                                                                                     0x000055aae69def30,                                                                                 ),                                                                                 lookup: LiteralLookup {                                                                                     expected_bool: None,                                                                                     expected_int: None,                                                                                     expected_str: Some(                                                                                         {                                                                                             "z": 2,                                                                                             "x": 0,                                                                                             "y": 1,                                                                                         },                                                                                     ),                                                                                     expected_py_dict: None,                                                                                     expected_py_values: None,                                                                                     values: [                                                                                         Py(                                                                                             0x00007f6894676e10,                                                                                         ),                                                                                         Py(                                                                                             0x00007f6894676e70,                                                                                         ),                                                                                         Py(                                                                                             0x00007f6894676ed0,                                                                                         ),                                                                                     ],                                                                                 },                                                                                 missing: None,                                                                                 expected_repr: "'x', 'y' or 'z'",                                                                                 strict: false,                                                                                 class_repr: "GlobalAxis",                                                                                 name: "str-enum[GlobalAxis]",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f6894355770,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68943557a0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68946184b0,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "on_axis": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f68946184b0,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'on_axis'",                                                                                         name: "literal['on_axis']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['on_axis']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "on_axis",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae69e1430,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "on_axis",                                                     },                                                 ),                                             ],                                         },                                         from_attributes: true,                                         strict: false,                                         custom_error: None,                                         tags_repr: "'euclidean', 'on_axis'",                                         discriminator_repr: "'type'",                                         name: "tagged-union[euclidean,on_axis]",                                     },                                 ),                                 class: Py(                                     0x000055aae69e5260,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: true,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "entity_id1",                         lookup_key: Simple {                             key: "entity_id1",                             py_key: Py(                                 0x00007f689435cdb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id1",                                         Py(                                             0x00007f689435cd70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b8fb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "entity_id2",                         lookup_key: Simple {                             key: "entity_id2",                             py_key: Py(                                 0x00007f689435cdf0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id2",                                         Py(                                             0x00007f689435ce30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b8ff0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943556e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894355710,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956dde30,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_get_distance": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956dde30,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_get_distance'",                                         name: "literal['entity_get_distance']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_get_distance']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_get_distance",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6bbc830,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_get_distance",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, distance_type: pydantic.root_model.RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], entity_id1: str, entity_id2: str, type: Literal['entity_get_distance'] = 'entity_get_distance') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

distance_type: RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]][source]
entity_id1: str[source]
entity_id2: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'distance_type': FieldInfo(annotation=RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], required=True), 'entity_id1': FieldInfo(annotation=str, required=True), 'entity_id2': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['entity_get_distance'], required=False, default='entity_get_distance')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['entity_get_distance'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_get_num_children(**data)[source][source]

How many children does the entity have?

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['entity_get_num_children']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.entity_get_num_children'>, 'config': {'title': 'entity_get_num_children'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_num_children'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_num_children'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_num_children:94192503826176', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_num_children', 'schema': {'expected': ['entity_get_num_children'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_num_children', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6bb2700,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956def30,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_get_num_children",                                             },                                             expected_py: None,                                             name: "literal['entity_get_num_children']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "entity_get_num_children",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_get_num_children", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f6894d913f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f6894341330,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894349bc0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894349bf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956def30,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_get_num_children": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956def30,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_get_num_children'",                                         name: "literal['entity_get_num_children']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_get_num_children']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_get_num_children",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6bb2700,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_get_num_children",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_id: str, type: Literal['entity_get_num_children'] = 'entity_get_num_children') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['entity_get_num_children'], required=False, default='entity_get_num_children')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['entity_get_num_children'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_get_parent_id(**data)[source][source]

What is this entity’s parent?

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['entity_get_parent_id']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.entity_get_parent_id'>, 'config': {'title': 'entity_get_parent_id'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_parent_id'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_parent_id'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_parent_id:94192503705088', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_parent_id', 'schema': {'expected': ['entity_get_parent_id'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_parent_id', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6b94e00,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956dc230,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_get_parent_id",                                             },                                             expected_py: None,                                             name: "literal['entity_get_parent_id']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "entity_get_parent_id",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_get_parent_id", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f68943077b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f6894307c70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894348bd0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894348c00,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956dc230,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_get_parent_id": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956dc230,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_get_parent_id'",                                         name: "literal['entity_get_parent_id']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_get_parent_id']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_get_parent_id",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6b94e00,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_get_parent_id",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_id: str, type: Literal['entity_get_parent_id'] = 'entity_get_parent_id') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['entity_get_parent_id'], required=False, default='entity_get_parent_id')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['entity_get_parent_id'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_get_sketch_paths(**data)[source][source]

What are all UUIDs of all the paths sketched on top of this entity?

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['entity_get_sketch_paths']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.entity_get_sketch_paths'>, 'config': {'title': 'entity_get_sketch_paths'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_sketch_paths'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_sketch_paths'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_sketch_paths:94192503856480', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_sketch_paths', 'schema': {'expected': ['entity_get_sketch_paths'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_sketch_paths', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6bb9d60,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956df970,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_get_sketch_paths",                                             },                                             expected_py: None,                                             name: "literal['entity_get_sketch_paths']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "entity_get_sketch_paths",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_get_sketch_paths", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f68943429f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f68943428b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943544b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943544e0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956df970,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_get_sketch_paths": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956df970,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_get_sketch_paths'",                                         name: "literal['entity_get_sketch_paths']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_get_sketch_paths']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_get_sketch_paths",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6bb9d60,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_get_sketch_paths",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_id: str, type: Literal['entity_get_sketch_paths'] = 'entity_get_sketch_paths') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['entity_get_sketch_paths'], required=False, default='entity_get_sketch_paths')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['entity_get_sketch_paths'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_linear_pattern(**data)[source][source]

Create a linear pattern using this entity.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'axis': <class 'kittycad.models.point3d.Point3d'>, 'entity_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'num_repetitions': <class 'int'>, 'spacing': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': typing.Literal['entity_linear_pattern']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.entity_linear_pattern'>, 'config': {'title': 'entity_linear_pattern'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_linear_pattern'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_linear_pattern'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_linear_pattern:94192503902560', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'num_repetitions': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'spacing': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_linear_pattern', 'schema': {'expected': ['entity_linear_pattern'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_linear_pattern', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6bc5160,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "spacing": SerField {                         key_py: Py(                             0x00007f68a630d110,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "num_repetitions": SerField {                         key_py: Py(                             0x00007f68944b9230,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Int(                                 IntSerializer,                             ),                         ),                         required: true,                     },                     "axis": SerField {                         key_py: Py(                             0x00007f68a6005320,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6232b70,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "z": SerField {                                                     key_py: Py(                                                         0x00007f68a783f688,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 3,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point3d",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956df830,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_linear_pattern",                                             },                                             expected_py: None,                                             name: "literal['entity_linear_pattern']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 5,             },         ),         has_extra: false,         root_model: false,         name: "entity_linear_pattern",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_linear_pattern", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "axis",                         lookup_key: Simple {                             key: "axis",                             py_key: Py(                                 0x00007f6894357450,                             ),                             path: LookupPath(                                 [                                     S(                                         "axis",                                         Py(                                             0x00007f6894357480,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a6005320,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "z",                                                 lookup_key: Simple {                                                     key: "z",                                                     py_key: Py(                                                         0x00007f68a783f688,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "z",                                                                 Py(                                                                     0x00007f68a783f688,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f688,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point3d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6232b70,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point3d",                             },                         ),                         frozen: false,                     },                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f689435fab0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f689435fa70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "num_repetitions",                         lookup_key: Simple {                             key: "num_repetitions",                             py_key: Py(                                 0x00007f689435fb30,                             ),                             path: LookupPath(                                 [                                     S(                                         "num_repetitions",                                         Py(                                             0x00007f689435faf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b9230,                         ),                         validator: Int(                             IntValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "spacing",                         lookup_key: Simple {                             key: "spacing",                             py_key: Py(                                 0x00007f68943574b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "spacing",                                         Py(                                             0x00007f68943574e0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a630d110,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 func: Py(                                     0x000055aae636ccf0,                                 ),                                 config: Py(                                     0x00007f689435fa40,                                 ),                                 name: "function-after[LengthUnit(), float]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894357510,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894357540,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956df830,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_linear_pattern": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956df830,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_linear_pattern'",                                         name: "literal['entity_linear_pattern']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_linear_pattern']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_linear_pattern",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6bc5160,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_linear_pattern",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, axis: kittycad.models.point3d.Point3d, entity_id: str, num_repetitions: int, spacing: kittycad.models.length_unit.LengthUnit, type: Literal['entity_linear_pattern'] = 'entity_linear_pattern') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

axis: Point3d[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'axis': FieldInfo(annotation=Point3d, required=True), 'entity_id': FieldInfo(annotation=str, required=True), 'num_repetitions': FieldInfo(annotation=int, required=True), 'spacing': FieldInfo(annotation=LengthUnit, required=True), 'type': FieldInfo(annotation=Literal['entity_linear_pattern'], required=False, default='entity_linear_pattern')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

num_repetitions: int[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

spacing: LengthUnit[source]
type: Literal['entity_linear_pattern'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_linear_pattern_transform(**data)[source][source]

Create a pattern using this entity by specifying the transform for each desired repetition.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'transform': typing.List[kittycad.models.linear_transform.LinearTransform], 'type': typing.Literal['entity_linear_pattern_transform']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.entity_linear_pattern_transform'>, 'config': {'title': 'entity_linear_pattern_transform'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_linear_pattern_transform'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_linear_pattern_transform'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_linear_pattern_transform:94192503877584', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'transform': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'cls': <class 'kittycad.models.linear_transform.LinearTransform'>, 'config': {'title': 'LinearTransform'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.linear_transform.LinearTransform'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.linear_transform.LinearTransform'>>]}, 'ref': 'kittycad.models.linear_transform.LinearTransform:94192502749024', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'replicate': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': True, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'scale': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': {'x': 1.0, 'y': 1.0, 'z': 1.0}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}, 'translate': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': {'x': 0.0, 'y': 0.0, 'z': 0.0}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'LinearTransform', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_linear_pattern_transform', 'schema': {'expected': ['entity_linear_pattern_transform'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_linear_pattern_transform', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6bbefd0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511a740,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_linear_pattern_transform",                                             },                                             expected_py: None,                                             name: "literal['entity_linear_pattern_transform']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "transform": SerField {                         key_py: Py(                             0x00007f68a66da470,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Model(                                         ModelSerializer {                                             class: Py(                                                 0x000055aae6aab760,                                             ),                                             serializer: Fields(                                                 GeneralFieldsSerializer {                                                     fields: {                                                         "translate": SerField {                                                             key_py: Py(                                                                 0x00007f68a783d958,                                                             ),                                                             alias: None,                                                             alias_py: None,                                                             serializer: Some(                                                                 WithDefault(                                                                     WithDefaultSerializer {                                                                         default: Default(                                                                             Py(                                                                                 0x00007f6894423780,                                                                             ),                                                                         ),                                                                         serializer: Recursive(                                                                             DefinitionRefSerializer {                                                                                 definition: "...",                                                                                 retry_with_lax_check: true,                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             ),                                                             required: true,                                                         },                                                         "scale": SerField {                                                             key_py: Py(                                                                 0x00007f68a60a6d60,                                                             ),                                                             alias: None,                                                             alias_py: None,                                                             serializer: Some(                                                                 WithDefault(                                                                     WithDefaultSerializer {                                                                         default: Default(                                                                             Py(                                                                                 0x00007f689443b580,                                                                             ),                                                                         ),                                                                         serializer: Recursive(                                                                             DefinitionRefSerializer {                                                                                 definition: "...",                                                                                 retry_with_lax_check: true,                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             ),                                                             required: true,                                                         },                                                         "replicate": SerField {                                                             key_py: Py(                                                                 0x00007f6898652ef0,                                                             ),                                                             alias: None,                                                             alias_py: None,                                                             serializer: Some(                                                                 WithDefault(                                                                     WithDefaultSerializer {                                                                         default: Default(                                                                             Py(                                                                                 0x00007f68a7731d00,                                                                             ),                                                                         ),                                                                         serializer: Bool(                                                                             BoolSerializer,                                                                         ),                                                                     },                                                                 ),                                                             ),                                                             required: true,                                                         },                                                     },                                                     computed_fields: Some(                                                         ComputedFields(                                                             [],                                                         ),                                                     ),                                                     mode: SimpleDict,                                                     extra_serializer: None,                                                     filter: SchemaFilter {                                                         include: None,                                                         exclude: None,                                                     },                                                     required_fields: 3,                                                 },                                             ),                                             has_extra: false,                                             root_model: false,                                             name: "LinearTransform",                                         },                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[LinearTransform]",                                 },                             ),                         ),                         required: true,                     },                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "entity_linear_pattern_transform",     }, ), definitions=[Model(ModelSerializer { class: Py(0x55aae6232b70), serializer: Fields(GeneralFieldsSerializer { fields: {"z": SerField { key_py: Py(0x7f68a783f688), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "x": SerField { key_py: Py(0x7f68a783df18), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "y": SerField { key_py: Py(0x7f68a783f658), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Point3d" })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_linear_pattern_transform", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f689435de30,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f689435ddf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "transform",                         lookup_key: Simple {                             key: "transform",                             py_key: Py(                                 0x00007f689435df70,                             ),                             path: LookupPath(                                 [                                     S(                                         "transform",                                         Py(                                             0x00007f689435dfb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a66da470,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Model(                                         ModelValidator {                                             revalidate: Never,                                             validator: ModelFields(                                                 ModelFieldsValidator {                                                     fields: [                                                         Field {                                                             name: "replicate",                                                             lookup_key: Simple {                                                                 key: "replicate",                                                                 py_key: Py(                                                                     0x00007f689435deb0,                                                                 ),                                                                 path: LookupPath(                                                                     [                                                                         S(                                                                             "replicate",                                                                             Py(                                                                                 0x00007f689435de70,                                                                             ),                                                                         ),                                                                     ],                                                                 ),                                                             },                                                             name_py: Py(                                                                 0x00007f6898652ef0,                                                             ),                                                             validator: WithDefault(                                                                 WithDefaultValidator {                                                                     default: Default(                                                                         Py(                                                                             0x00007f68a7731d00,                                                                         ),                                                                     ),                                                                     on_error: Raise,                                                                     validator: Bool(                                                                         BoolValidator {                                                                             strict: false,                                                                         },                                                                     ),                                                                     validate_default: false,                                                                     copy_default: false,                                                                     name: "default[bool]",                                                                     undefined: Py(                                                                         0x00007f6896b91e70,                                                                     ),                                                                 },                                                             ),                                                             frozen: false,                                                         },                                                         Field {                                                             name: "scale",                                                             lookup_key: Simple {                                                                 key: "scale",                                                                 py_key: Py(                                                                     0x00007f68943551a0,                                                                 ),                                                                 path: LookupPath(                                                                     [                                                                         S(                                                                             "scale",                                                                             Py(                                                                                 0x00007f68943553b0,                                                                             ),                                                                         ),                                                                     ],                                                                 ),                                                             },                                                             name_py: Py(                                                                 0x00007f68a60a6d60,                                                             ),                                                             validator: WithDefault(                                                                 WithDefaultValidator {                                                                     default: Default(                                                                         Py(                                                                             0x00007f689443b580,                                                                         ),                                                                     ),                                                                     on_error: Raise,                                                                     validator: DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Point3d",                                                                         },                                                                     ),                                                                     validate_default: false,                                                                     copy_default: true,                                                                     name: "default[Point3d]",                                                                     undefined: Py(                                                                         0x00007f6896b91e70,                                                                     ),                                                                 },                                                             ),                                                             frozen: false,                                                         },                                                         Field {                                                             name: "translate",                                                             lookup_key: Simple {                                                                 key: "translate",                                                                 py_key: Py(                                                                     0x00007f689435def0,                                                                 ),                                                                 path: LookupPath(                                                                     [                                                                         S(                                                                             "translate",                                                                             Py(                                                                                 0x00007f689435df30,                                                                             ),                                                                         ),                                                                     ],                                                                 ),                                                             },                                                             name_py: Py(                                                                 0x00007f68a783d958,                                                             ),                                                             validator: WithDefault(                                                                 WithDefaultValidator {                                                                     default: Default(                                                                         Py(                                                                             0x00007f6894423780,                                                                         ),                                                                     ),                                                                     on_error: Raise,                                                                     validator: DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Point3d",                                                                         },                                                                     ),                                                                     validate_default: false,                                                                     copy_default: true,                                                                     name: "default[Point3d]",                                                                     undefined: Py(                                                                         0x00007f6896b91e70,                                                                     ),                                                                 },                                                             ),                                                             frozen: false,                                                         },                                                     ],                                                     model_name: "LinearTransform",                                                     extra_behavior: Ignore,                                                     extras_validator: None,                                                     strict: false,                                                     from_attributes: false,                                                     loc_by_alias: true,                                                 },                                             ),                                             class: Py(                                                 0x000055aae6aab760,                                             ),                                             post_init: None,                                             frozen: false,                                             custom_init: false,                                             root_model: false,                                             undefined: Py(                                                 0x00007f6896b91e70,                                             ),                                             name: "LinearTransform",                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894355290,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894355470,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511a740,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_linear_pattern_transform": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511a740,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_linear_pattern_transform'",                                         name: "literal['entity_linear_pattern_transform']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_linear_pattern_transform']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_linear_pattern_transform",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6bbefd0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_linear_pattern_transform",     }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f68a783f628), path: LookupPath([S("x", Py(0x7f68a783f628))]) }, name_py: Py(0x7f68a783df18), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f68a783f658), path: LookupPath([S("y", Py(0x7f68a783f658))]) }, name_py: Py(0x7f68a783f658), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f68a783f688), path: LookupPath([S("z", Py(0x7f68a783f688))]) }, name_py: Py(0x7f68a783f688), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Point3d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6232b70), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "Point3d" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_id: str, transform: List[kittycad.models.linear_transform.LinearTransform], type: Literal['entity_linear_pattern_transform'] = 'entity_linear_pattern_transform') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_id': FieldInfo(annotation=str, required=True), 'transform': FieldInfo(annotation=List[LinearTransform], required=True), 'type': FieldInfo(annotation=Literal['entity_linear_pattern_transform'], required=False, default='entity_linear_pattern_transform')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

transform: List[LinearTransform][source]
type: Literal['entity_linear_pattern_transform'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_make_helix(**data)[source][source]

Create a helix using the input cylinder and other specified parameters.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'cylinder_id': <class 'str'>, 'is_clockwise': <class 'bool'>, 'length': <class 'kittycad.models.length_unit.LengthUnit'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'revolutions': <class 'float'>, 'start_angle': <class 'kittycad.models.angle.Angle'>, 'type': typing.Literal['entity_make_helix']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.entity_make_helix'>, 'config': {'title': 'entity_make_helix'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_make_helix'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_make_helix'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_make_helix:94192504265232', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cylinder_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'is_clockwise': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'length': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'revolutions': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'start_angle': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.angle.Angle'>, 'config': {'title': 'Angle'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.angle.Angle'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.angle.Angle'>>]}, 'ref': 'kittycad.models.angle.Angle:94192496883040', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitAngle'>, 'members': [UnitAngle.DEGREES, UnitAngle.RADIANS], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_angle.UnitAngle:94192496658640', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'value': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Angle', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_make_helix', 'schema': {'expected': ['entity_make_helix'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_make_helix', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c1da10,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "cylinder_id": SerField {                         key_py: Py(                             0x00007f68944b9670,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "revolutions": SerField {                         key_py: Py(                             0x00007f68944b96f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "start_angle": SerField {                         key_py: Py(                             0x00007f68944b9770,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6513560,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "value": SerField {                                                     key_py: Py(                                                         0x00007f68a783dc20,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "unit": SerField {                                                     key_py: Py(                                                         0x00007f68a600aee0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Enum(                                                             EnumSerializer {                                                                 class: Py(                                                                     0x000055aae64dc8d0,                                                                 ),                                                                 serializer: Some(                                                                     Str(                                                                         StrSerializer,                                                                     ),                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Angle",                                 },                             ),                         ),                         required: true,                     },                     "is_clockwise": SerField {                         key_py: Py(                             0x00007f68944b96b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "length": SerField {                         key_py: Py(                             0x00007f68a783afa0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944b9630,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_make_helix",                                             },                                             expected_py: None,                                             name: "literal['entity_make_helix']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 6,             },         ),         has_extra: false,         root_model: false,         name: "entity_make_helix",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_make_helix", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "cylinder_id",                         lookup_key: Simple {                             key: "cylinder_id",                             py_key: Py(                                 0x00007f68943654b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "cylinder_id",                                         Py(                                             0x00007f68943652f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b9670,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "is_clockwise",                         lookup_key: Simple {                             key: "is_clockwise",                             py_key: Py(                                 0x00007f6894365670,                             ),                             path: LookupPath(                                 [                                     S(                                         "is_clockwise",                                         Py(                                             0x00007f68943653f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b96b0,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "length",                         lookup_key: Simple {                             key: "length",                             py_key: Py(                                 0x00007f68943694d0,                             ),                             path: LookupPath(                                 [                                     S(                                         "length",                                         Py(                                             0x00007f6894369500,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783afa0,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 func: Py(                                     0x000055aae636ccf0,                                 ),                                 config: Py(                                     0x00007f6894365340,                                 ),                                 name: "function-after[LengthUnit(), float]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "revolutions",                         lookup_key: Simple {                             key: "revolutions",                             py_key: Py(                                 0x00007f6894365470,                             ),                             path: LookupPath(                                 [                                     S(                                         "revolutions",                                         Py(                                             0x00007f68943655f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b96f0,                         ),                         validator: Float(                             FloatValidator {                                 strict: false,                                 allow_inf_nan: true,                             },                         ),                         frozen: false,                     },                     Field {                         name: "start_angle",                         lookup_key: Simple {                             key: "start_angle",                             py_key: Py(                                 0x00007f68943655b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "start_angle",                                         Py(                                             0x00007f6894365630,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b9770,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "unit",                                                 lookup_key: Simple {                                                     key: "unit",                                                     py_key: Py(                                                         0x00007f6894369530,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "unit",                                                                 Py(                                                                     0x00007f6894369560,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a600aee0,                                                 ),                                                 validator: StrEnum(                                                     EnumValidator {                                                         phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                         class: Py(                                                             0x000055aae64dc8d0,                                                         ),                                                         lookup: LiteralLookup {                                                             expected_bool: None,                                                             expected_int: None,                                                             expected_str: Some(                                                                 {                                                                     "radians": 1,                                                                     "degrees": 0,                                                                 },                                                             ),                                                             expected_py_dict: None,                                                             expected_py_values: None,                                                             values: [                                                                 Py(                                                                     0x00007f6894d6e990,                                                                 ),                                                                 Py(                                                                     0x00007f6894d6e9f0,                                                                 ),                                                             ],                                                         },                                                         missing: None,                                                         expected_repr: "'degrees' or 'radians'",                                                         strict: false,                                                         class_repr: "UnitAngle",                                                         name: "str-enum[UnitAngle]",                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "value",                                                 lookup_key: Simple {                                                     key: "value",                                                     py_key: Py(                                                         0x00007f6894369590,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "value",                                                                 Py(                                                                     0x00007f68943695c0,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783dc20,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Angle",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6513560,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Angle",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943695f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894369620,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944b9630,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_make_helix": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944b9630,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_make_helix'",                                         name: "literal['entity_make_helix']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_make_helix']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_make_helix",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c1da10,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_make_helix",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, cylinder_id: str, is_clockwise: bool, length: kittycad.models.length_unit.LengthUnit, revolutions: float, start_angle: kittycad.models.angle.Angle, type: Literal['entity_make_helix'] = 'entity_make_helix') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

cylinder_id: str[source]
dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

is_clockwise: bool[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

length: LengthUnit[source]
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'cylinder_id': FieldInfo(annotation=str, required=True), 'is_clockwise': FieldInfo(annotation=bool, required=True), 'length': FieldInfo(annotation=LengthUnit, required=True), 'revolutions': FieldInfo(annotation=float, required=True), 'start_angle': FieldInfo(annotation=Angle, required=True), 'type': FieldInfo(annotation=Literal['entity_make_helix'], required=False, default='entity_make_helix')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

revolutions: float[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

start_angle: Angle[source]
type: Literal['entity_make_helix'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_mirror(**data)[source][source]

Mirror the input entities over the specified axis. (Currently only supports sketches)

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'axis': <class 'kittycad.models.point3d.Point3d'>, 'ids': typing.List[str], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'point': <class 'kittycad.models.point3d.Point3d'>, 'type': typing.Literal['entity_mirror']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.entity_mirror'>, 'config': {'title': 'entity_mirror'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_mirror'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_mirror'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_mirror:94192504286864', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'point': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_mirror', 'schema': {'expected': ['entity_mirror'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_mirror', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c22e90,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "ids": SerField {                         key_py: Py(                             0x00007f68a68dca80,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                     "point": SerField {                         key_py: Py(                             0x00007f68a5951c80,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                     "axis": SerField {                         key_py: Py(                             0x00007f68a6005320,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944b9730,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_mirror",                                             },                                             expected_py: None,                                             name: "literal['entity_mirror']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "entity_mirror",     }, ), definitions=[Model(ModelSerializer { class: Py(0x55aae6232b70), serializer: Fields(GeneralFieldsSerializer { fields: {"x": SerField { key_py: Py(0x7f68a783df18), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "y": SerField { key_py: Py(0x7f68a783f658), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "z": SerField { key_py: Py(0x7f68a783f688), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Point3d" })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_mirror", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "axis",                         lookup_key: Simple {                             key: "axis",                             py_key: Py(                                 0x00007f689436a940,                             ),                             path: LookupPath(                                 [                                     S(                                         "axis",                                         Py(                                             0x00007f689436a910,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a6005320,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "ids",                         lookup_key: Simple {                             key: "ids",                             py_key: Py(                                 0x00007f689436a8e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "ids",                                         Py(                                             0x00007f689436a700,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a68dca80,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "point",                         lookup_key: Simple {                             key: "point",                             py_key: Py(                                 0x00007f689436a970,                             ),                             path: LookupPath(                                 [                                     S(                                         "point",                                         Py(                                             0x00007f689436a9a0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a5951c80,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689436a9d0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689436aa00,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944b9730,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_mirror": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944b9730,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_mirror'",                                         name: "literal['entity_mirror']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_mirror']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_mirror",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c22e90,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_mirror",     }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f68a783f628), path: LookupPath([S("x", Py(0x7f68a783f628))]) }, name_py: Py(0x7f68a783df18), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f68a783f658), path: LookupPath([S("y", Py(0x7f68a783f658))]) }, name_py: Py(0x7f68a783f658), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f68a783f688), path: LookupPath([S("z", Py(0x7f68a783f688))]) }, name_py: Py(0x7f68a783f688), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Point3d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6232b70), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "Point3d" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, axis: kittycad.models.point3d.Point3d, ids: List[str], point: kittycad.models.point3d.Point3d, type: Literal['entity_mirror'] = 'entity_mirror') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

axis: Point3d[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

ids: List[str][source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'axis': FieldInfo(annotation=Point3d, required=True), 'ids': FieldInfo(annotation=List[str], required=True), 'point': FieldInfo(annotation=Point3d, required=True), 'type': FieldInfo(annotation=Literal['entity_mirror'], required=False, default='entity_mirror')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

point: Point3d[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['entity_mirror'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_mirror_across_edge(**data)[source][source]

Mirror the input entities over the specified edge. (Currently only supports sketches)

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'edge_id': <class 'str'>, 'ids': typing.List[str], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['entity_mirror_across_edge']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.entity_mirror_across_edge'>, 'config': {'title': 'entity_mirror_across_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_mirror_across_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_mirror_across_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_mirror_across_edge:94192504306176', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_mirror_across_edge', 'schema': {'expected': ['entity_mirror_across_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_mirror_across_edge', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c27a00,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "ids": SerField {                         key_py: Py(                             0x00007f68a68dca80,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689448b370,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_mirror_across_edge",                                             },                                             expected_py: None,                                             name: "literal['entity_mirror_across_edge']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "edge_id": SerField {                         key_py: Py(                             0x00007f6894499b00,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "entity_mirror_across_edge",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_mirror_across_edge", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "edge_id",                         lookup_key: Simple {                             key: "edge_id",                             py_key: Py(                                 0x00007f689436bc30,                             ),                             path: LookupPath(                                 [                                     S(                                         "edge_id",                                         Py(                                             0x00007f689436bba0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894499b00,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "ids",                         lookup_key: Simple {                             key: "ids",                             py_key: Py(                                 0x00007f689436bd50,                             ),                             path: LookupPath(                                 [                                     S(                                         "ids",                                         Py(                                             0x00007f689436bd20,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a68dca80,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689436bcf0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689436bb70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689448b370,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_mirror_across_edge": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689448b370,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_mirror_across_edge'",                                         name: "literal['entity_mirror_across_edge']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_mirror_across_edge']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_mirror_across_edge",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c27a00,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_mirror_across_edge",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, edge_id: str, ids: List[str], type: Literal['entity_mirror_across_edge'] = 'entity_mirror_across_edge') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

edge_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

ids: List[str][source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'edge_id': FieldInfo(annotation=str, required=True), 'ids': FieldInfo(annotation=List[str], required=True), 'type': FieldInfo(annotation=Literal['entity_mirror_across_edge'], required=False, default='entity_mirror_across_edge')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['entity_mirror_across_edge'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.entity_set_opacity(**data)[source][source]

Set opacity of the entity.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'opacity': <class 'float'>, 'type': typing.Literal['entity_set_opacity']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.entity_set_opacity'>, 'config': {'title': 'entity_set_opacity'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_set_opacity'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_set_opacity'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_set_opacity:94192504836176', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'opacity': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_set_opacity', 'schema': {'expected': ['entity_set_opacity'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_set_opacity', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6ca9050,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "opacity": SerField {                         key_py: Py(                             0x00007f6898867600,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e4530,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "entity_set_opacity",                                             },                                             expected_py: None,                                             name: "literal['entity_set_opacity']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "entity_set_opacity",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="entity_set_opacity", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f689420f030,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f689420eff0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "opacity",                         lookup_key: Simple {                             key: "opacity",                             py_key: Py(                                 0x00007f6894210870,                             ),                             path: LookupPath(                                 [                                     S(                                         "opacity",                                         Py(                                             0x00007f68942108a0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898867600,                         ),                         validator: Float(                             FloatValidator {                                 strict: false,                                 allow_inf_nan: true,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894210810,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942109f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e4530,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "entity_set_opacity": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e4530,                                                 ),                                             ],                                         },                                         expected_repr: "'entity_set_opacity'",                                         name: "literal['entity_set_opacity']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['entity_set_opacity']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "entity_set_opacity",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6ca9050,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "entity_set_opacity",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_id: str, opacity: float, type: Literal['entity_set_opacity'] = 'entity_set_opacity') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_id': FieldInfo(annotation=str, required=True), 'opacity': FieldInfo(annotation=float, required=True), 'type': FieldInfo(annotation=Literal['entity_set_opacity'], required=False, default='entity_set_opacity')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

opacity: float[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['entity_set_opacity'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.export(**data)[source][source]

Export the scene to a file.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_ids': typing.List[str], 'format': <class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['export']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.axis_direction_pair.AxisDirectionPair'>, 'config': {'title': 'AxisDirectionPair'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.axis_direction_pair.AxisDirectionPair'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.axis_direction_pair.AxisDirectionPair'>>]}, 'ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:94192496423760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.axis.Axis:94192496419776', 'type': 'definition-ref'}, 'type': 'model-field'}, 'direction': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.direction.Direction:94192491774336', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'AxisDirectionPair', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'Axis'>, 'members': [Axis.Y, Axis.Z], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.axis.Axis:94192496419776', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'Direction'>, 'members': [Direction.POSITIVE, Direction.NEGATIVE], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.direction.Direction:94192491774336', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.system.System'>, 'config': {'title': 'System'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.system.System'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.system.System'>>]}, 'ref': 'kittycad.models.system.System:94192496414080', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'forward': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:94192496423760', 'type': 'definition-ref'}, 'type': 'model-field'}, 'up': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:94192496423760', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'System', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'UnitLength'>, 'members': [UnitLength.CM, UnitLength.FT, UnitLength.IN, UnitLength.M, UnitLength.MM, UnitLength.YD], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_length.UnitLength:94192499221680', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.selection.default_scene'>, 'config': {'title': 'default_scene'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.selection.default_scene'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.default_scene'>>]}, 'ref': 'kittycad.models.selection.default_scene:94192496465728', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_scene', 'schema': {'expected': ['default_scene'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_scene', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.scene_by_index'>, 'config': {'title': 'scene_by_index'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.selection.scene_by_index'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.scene_by_index'>>]}, 'ref': 'kittycad.models.selection.scene_by_index:94192499257360', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'index': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'scene_by_index', 'schema': {'expected': ['scene_by_index'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'scene_by_index', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.scene_by_name'>, 'config': {'title': 'scene_by_name'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.selection.scene_by_name'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.scene_by_name'>>]}, 'ref': 'kittycad.models.selection.scene_by_name:94192499264256', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'name': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'scene_by_name', 'schema': {'expected': ['scene_by_name'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'scene_by_name', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.mesh_by_index'>, 'config': {'title': 'mesh_by_index'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.selection.mesh_by_index'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.mesh_by_index'>>]}, 'ref': 'kittycad.models.selection.mesh_by_index:94192499271152', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'index': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mesh_by_index', 'schema': {'expected': ['mesh_by_index'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'mesh_by_index', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.mesh_by_name'>, 'config': {'title': 'mesh_by_name'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.selection.mesh_by_name'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.mesh_by_name'>>]}, 'ref': 'kittycad.models.selection.mesh_by_name:94192499278832', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'name': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mesh_by_name', 'schema': {'expected': ['mesh_by_name'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'mesh_by_name', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94192496630560[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:140087154831248]", 'root_model': True, 'schema': {'choices': {'default_scene': {'schema_ref': 'kittycad.models.selection.default_scene:94192496465728', 'type': 'definition-ref'}, 'mesh_by_index': {'schema_ref': 'kittycad.models.selection.mesh_by_index:94192499271152', 'type': 'definition-ref'}, 'mesh_by_name': {'schema_ref': 'kittycad.models.selection.mesh_by_name:94192499278832', 'type': 'definition-ref'}, 'scene_by_index': {'schema_ref': 'kittycad.models.selection.scene_by_index:94192499257360', 'type': 'definition-ref'}, 'scene_by_name': {'schema_ref': 'kittycad.models.selection.scene_by_name:94192499264256', 'type': 'definition-ref'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.export'>, 'config': {'title': 'export'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.export'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.export'>>]}, 'ref': 'kittycad.models.modeling_cmd.export:94192503694176', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'format': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94192496630560[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:140087155125824]", 'root_model': True, 'schema': {'choices': {'fbx': {'cls': <class 'kittycad.models.output_format.fbx'>, 'config': {'title': 'fbx'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.fbx'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.fbx'>>]}, 'ref': 'kittycad.models.output_format.fbx:94192494469440', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'storage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'FbxStorage'>, 'members': [FbxStorage.ASCII, FbxStorage.BINARY], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.fbx_storage.FbxStorage:94192499292688', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'fbx', 'schema': {'expected': ['fbx'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'fbx', 'type': 'model-fields'}, 'type': 'model'}, 'gltf': {'cls': <class 'kittycad.models.output_format.gltf'>, 'config': {'title': 'gltf'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.gltf'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.gltf'>>]}, 'ref': 'kittycad.models.output_format.gltf:94192494478368', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'presentation': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'GltfPresentation'>, 'members': [GltfPresentation.COMPACT, GltfPresentation.PRETTY], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.gltf_presentation.GltfPresentation:94192499244144', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'storage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'GltfStorage'>, 'members': [GltfStorage.BINARY, GltfStorage.STANDARD, GltfStorage.EMBEDDED], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.gltf_storage.GltfStorage:94192499246688', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'gltf', 'schema': {'expected': ['gltf'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'gltf', 'type': 'model-fields'}, 'type': 'model'}, 'obj': {'cls': <class 'kittycad.models.output_format.obj'>, 'config': {'title': 'obj'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.obj'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.obj'>>]}, 'ref': 'kittycad.models.output_format.obj:94192494491520', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:94192496414080', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'obj', 'schema': {'expected': ['obj'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94192499221680', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'obj', 'type': 'model-fields'}, 'type': 'model'}, 'ply': {'cls': <class 'kittycad.models.output_format.ply'>, 'config': {'title': 'ply'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.ply'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.ply'>>]}, 'ref': 'kittycad.models.output_format.ply:94192494509104', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:94192496414080', 'type': 'definition-ref'}, 'type': 'model-field'}, 'selection': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': "pydantic.root_model.RootModel:94192496630560[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:140087154831248]", 'type': 'definition-ref'}, 'type': 'model-field'}, 'storage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'PlyStorage'>, 'members': [PlyStorage.ASCII, PlyStorage.BINARY_LITTLE_ENDIAN, PlyStorage.BINARY_BIG_ENDIAN], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.ply_storage.PlyStorage:94192499249248', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'ply', 'schema': {'expected': ['ply'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94192499221680', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'ply', 'type': 'model-fields'}, 'type': 'model'}, 'step': {'cls': <class 'kittycad.models.output_format.step'>, 'config': {'title': 'step'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.step'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.step'>>]}, 'ref': 'kittycad.models.output_format.step:94192493975568', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:94192496414080', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'step', 'schema': {'expected': ['step'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'step', 'type': 'model-fields'}, 'type': 'model'}, 'stl': {'cls': <class 'kittycad.models.output_format.stl'>, 'config': {'title': 'stl'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.stl'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.stl'>>]}, 'ref': 'kittycad.models.output_format.stl:94192494007344', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:94192496414080', 'type': 'definition-ref'}, 'type': 'model-field'}, 'selection': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': "pydantic.root_model.RootModel:94192496630560[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:140087154831248]", 'type': 'definition-ref'}, 'type': 'model-field'}, 'storage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'StlStorage'>, 'members': [StlStorage.ASCII, StlStorage.BINARY], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.stl_storage.StlStorage:94192494468448', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'stl', 'schema': {'expected': ['stl'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94192499221680', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'stl', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'export', 'schema': {'expected': ['export'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'export', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6b92360,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a27bf600,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "export",                                             },                                             expected_py: None,                                             name: "literal['export']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "format": SerField {                         key_py: Py(                             0x00007f68a7839f48,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae65bd1a0,                                     ),                                     serializer: Union(                                         UnionSerializer {                                             choices: [                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae62c6140,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f689519a6d0,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "fbx",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['fbx']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "storage": SerField {                                                                         key_py: Py(                                                                             0x00007f68986cb7b0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Enum(                                                                                 EnumSerializer {                                                                                     class: Py(                                                                                         0x000055aae675fa10,                                                                                     ),                                                                                     serializer: Some(                                                                                         Str(                                                                                             StrSerializer,                                                                                         ),                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 2,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "fbx",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae62c8420,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "storage": SerField {                                                                         key_py: Py(                                                                             0x00007f68986cb7b0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Enum(                                                                                 EnumSerializer {                                                                                     class: Py(                                                                                         0x000055aae6754660,                                                                                     ),                                                                                     serializer: Some(                                                                                         Str(                                                                                             StrSerializer,                                                                                         ),                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "presentation": SerField {                                                                         key_py: Py(                                                                             0x00007f689513e4b0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Enum(                                                                                 EnumSerializer {                                                                                     class: Py(                                                                                         0x000055aae6753c70,                                                                                     ),                                                                                     serializer: Some(                                                                                         Str(                                                                                             StrSerializer,                                                                                         ),                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f689519a940,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "gltf",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['gltf']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 3,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "gltf",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae62cb780,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68a783bb88,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "obj",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['obj']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "units": SerField {                                                                         key_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: false,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "coords": SerField {                                                                         key_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 3,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "obj",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae62cfc30,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "coords": SerField {                                                                         key_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f689519aee0,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "ply",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['ply']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "storage": SerField {                                                                         key_py: Py(                                                                             0x00007f68986cb7b0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Enum(                                                                                 EnumSerializer {                                                                                     class: Py(                                                                                         0x000055aae6755060,                                                                                     ),                                                                                     serializer: Some(                                                                                         Str(                                                                                             StrSerializer,                                                                                         ),                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "selection": SerField {                                                                         key_py: Py(                                                                             0x00007f689510e8b0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "units": SerField {                                                                         key_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: false,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 5,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "ply",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae624d810,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68a783d2c8,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "step",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['step']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "coords": SerField {                                                                         key_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 2,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "step",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae6255430,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f689519b3c0,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "stl",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['stl']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "storage": SerField {                                                                         key_py: Py(                                                                             0x00007f68986cb7b0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Enum(                                                                                 EnumSerializer {                                                                                     class: Py(                                                                                         0x000055aae62c5d60,                                                                                     ),                                                                                     serializer: Some(                                                                                         Str(                                                                                             StrSerializer,                                                                                         ),                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "units": SerField {                                                                         key_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: false,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "selection": SerField {                                                                         key_py: Py(                                                                             0x00007f689510e8b0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "coords": SerField {                                                                         key_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 5,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "stl",                                                     },                                                 ),                                             ],                                             name: "Union[fbx, gltf, obj, ply, step, stl]",                                         },                                     ),                                     has_extra: false,                                     root_model: true,                                     name: "RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]",                                 },                             ),                         ),                         required: true,                     },                     "entity_ids": SerField {                         key_py: Py(                             0x00007f689451a2b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "export",     }, ), definitions=[Model(ModelSerializer { class: Py(0x55aae675e810), serializer: Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]" }), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]" }), Model(ModelSerializer { class: Py(0x55aae64a0d80), serializer: Fields(GeneralFieldsSerializer { fields: {"forward": SerField { key_py: Py(0x7f68975ef390), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "up": SerField { key_py: Py(0x7f68a65f7900), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "System" }), Model(ModelSerializer { class: Py(0x55aae64ad740), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f68a783da58), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f689502fdf0)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"default_scene"}, expected_py: None, name: "literal['default_scene']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 1 }), has_extra: false, root_model: false, name: "default_scene" }), Model(ModelSerializer { class: Py(0x55aae675c3f0), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f68a783da58), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f6894ff7e70)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"mesh_by_name"}, expected_py: None, name: "literal['mesh_by_name']" }) })), required: true }, "name": SerField { key_py: Py(0x7f68a783b7b0), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "mesh_by_name" }), Model(ModelSerializer { class: Py(0x55aae675a5f0), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f68a783da58), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f689513fef0)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"mesh_by_index"}, expected_py: None, name: "literal['mesh_by_index']" }) })), required: true }, "index": SerField { key_py: Py(0x7f68a77fbca0), alias: None, alias_py: None, serializer: Some(Int(IntSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "mesh_by_index" }), Enum(EnumSerializer { class: Py(0x55aae674e4b0), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x55aae64a23c0), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x55aae6034180), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55aae64a3350), serializer: Fields(GeneralFieldsSerializer { fields: {"axis": SerField { key_py: Py(0x7f68a6005320), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "direction": SerField { key_py: Py(0x7f68a6645570), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "AxisDirectionPair" }), Model(ModelSerializer { class: Py(0x55aae6757010), serializer: Fields(GeneralFieldsSerializer { fields: {"index": SerField { key_py: Py(0x7f68a77fbca0), alias: None, alias_py: None, serializer: Some(Int(IntSerializer)), required: true }, "type": SerField { key_py: Py(0x7f68a783da58), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f689502e4b0)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"scene_by_index"}, expected_py: None, name: "literal['scene_by_index']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "scene_by_index" }), Model(ModelSerializer { class: Py(0x55aae6758b00), serializer: Fields(GeneralFieldsSerializer { fields: {"name": SerField { key_py: Py(0x7f68a783b7b0), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "type": SerField { key_py: Py(0x7f68a783da58), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f689513dcb0)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"scene_by_name"}, expected_py: None, name: "literal['scene_by_name']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "scene_by_name" })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="export", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_ids",                         lookup_key: Simple {                             key: "entity_ids",                             py_key: Py(                                 0x00007f6894331cb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_ids",                                         Py(                                             0x00007f68943047b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689451a2b0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "format",                         lookup_key: Simple {                             key: "format",                             py_key: Py(                                 0x00007f68944dbb40,                             ),                             path: LookupPath(                                 [                                     S(                                         "format",                                         Py(                                             0x00007f68944dbb70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a7839f48,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: TaggedUnion(                                     TaggedUnionValidator {                                         discriminator: LookupKey(                                             Simple {                                                 key: "type",                                                 py_key: Py(                                                     0x00007f68a783da58,                                                 ),                                                 path: LookupPath(                                                     [                                                         S(                                                             "type",                                                             Py(                                                                 0x00007f68a783da58,                                                             ),                                                         ),                                                     ],                                                 ),                                             },                                         ),                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "ply": 3,                                                     "obj": 2,                                                     "fbx": 0,                                                     "step": 4,                                                     "gltf": 1,                                                     "stl": 5,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "storage",                                                                         lookup_key: Simple {                                                                             key: "storage",                                                                             py_key: Py(                                                                                 0x00007f68944db330,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "storage",                                                                                         Py(                                                                                             0x00007f68944db360,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68986cb7b0,                                                                         ),                                                                         validator: StrEnum(                                                                             EnumValidator {                                                                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                                                 class: Py(                                                                                     0x000055aae675fa10,                                                                                 ),                                                                                 lookup: LiteralLookup {                                                                                     expected_bool: None,                                                                                     expected_int: None,                                                                                     expected_str: Some(                                                                                         {                                                                                             "ascii": 0,                                                                                             "binary": 1,                                                                                         },                                                                                     ),                                                                                     expected_py_dict: None,                                                                                     expected_py_values: None,                                                                                     values: [                                                                                         Py(                                                                                             0x00007f6894dbee10,                                                                                         ),                                                                                         Py(                                                                                             0x00007f6894dbeed0,                                                                                         ),                                                                                     ],                                                                                 },                                                                                 missing: None,                                                                                 expected_repr: "'ascii' or 'binary'",                                                                                 strict: false,                                                                                 class_repr: "FbxStorage",                                                                                 name: "str-enum[FbxStorage]",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68944db390,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68944db420,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f689519a6d0,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "fbx": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f689519a6d0,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'fbx'",                                                                                         name: "literal['fbx']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['fbx']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "fbx",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae62c6140,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "fbx",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "presentation",                                                                         lookup_key: Simple {                                                                             key: "presentation",                                                                             py_key: Py(                                                                                 0x00007f6894656db0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "presentation",                                                                                         Py(                                                                                             0x00007f6894306c70,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f689513e4b0,                                                                         ),                                                                         validator: StrEnum(                                                                             EnumValidator {                                                                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                                                 class: Py(                                                                                     0x000055aae6753c70,                                                                                 ),                                                                                 lookup: LiteralLookup {                                                                                     expected_bool: None,                                                                                     expected_int: None,                                                                                     expected_str: Some(                                                                                         {                                                                                             "compact": 0,                                                                                             "pretty": 1,                                                                                         },                                                                                     ),                                                                                     expected_py_dict: None,                                                                                     expected_py_values: None,                                                                                     values: [                                                                                         Py(                                                                                             0x00007f6894dbef90,                                                                                         ),                                                                                         Py(                                                                                             0x00007f6894dbf050,                                                                                         ),                                                                                     ],                                                                                 },                                                                                 missing: None,                                                                                 expected_repr: "'compact' or 'pretty'",                                                                                 strict: false,                                                                                 class_repr: "GltfPresentation",                                                                                 name: "str-enum[GltfPresentation]",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "storage",                                                                         lookup_key: Simple {                                                                             key: "storage",                                                                             py_key: Py(                                                                                 0x00007f68944db5a0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "storage",                                                                                         Py(                                                                                             0x00007f68944db450,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68986cb7b0,                                                                         ),                                                                         validator: StrEnum(                                                                             EnumValidator {                                                                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                                                 class: Py(                                                                                     0x000055aae6754660,                                                                                 ),                                                                                 lookup: LiteralLookup {                                                                                     expected_bool: None,                                                                                     expected_int: None,                                                                                     expected_str: Some(                                                                                         {                                                                                             "embedded": 2,                                                                                             "standard": 1,                                                                                             "binary": 0,                                                                                         },                                                                                     ),                                                                                     expected_py_dict: None,                                                                                     expected_py_values: None,                                                                                     values: [                                                                                         Py(                                                                                             0x00007f6894dbf110,                                                                                         ),                                                                                         Py(                                                                                             0x00007f6894dbf1d0,                                                                                         ),                                                                                         Py(                                                                                             0x00007f6894dbf290,                                                                                         ),                                                                                     ],                                                                                 },                                                                                 missing: None,                                                                                 expected_repr: "'binary', 'standard' or 'embedded'",                                                                                 strict: false,                                                                                 class_repr: "GltfStorage",                                                                                 name: "str-enum[GltfStorage]",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68944db4e0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68944db600,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f689519a940,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "gltf": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f689519a940,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'gltf'",                                                                                         name: "literal['gltf']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['gltf']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "gltf",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae62c8420,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "gltf",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "coords",                                                                         lookup_key: Simple {                                                                             key: "coords",                                                                             py_key: Py(                                                                                 0x00007f68944db5d0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "coords",                                                                                         Py(                                                                                             0x00007f68944db660,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68944db630,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68944db780,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68a783bb88,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "obj": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f68a783bb88,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'obj'",                                                                                         name: "literal['obj']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['obj']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "units",                                                                         lookup_key: Simple {                                                                             key: "units",                                                                             py_key: Py(                                                                                 0x00007f68944db6c0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "units",                                                                                         Py(                                                                                             0x00007f68944db6f0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "obj",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae62cb780,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "obj",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "coords",                                                                         lookup_key: Simple {                                                                             key: "coords",                                                                             py_key: Py(                                                                                 0x00007f68944db720,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "coords",                                                                                         Py(                                                                                             0x00007f68944db9c0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "selection",                                                                         lookup_key: Simple {                                                                             key: "selection",                                                                             py_key: Py(                                                                                 0x00007f6894304770,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "selection",                                                                                         Py(                                                                                             0x00007f68943068b0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f689510e8b0,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "storage",                                                                         lookup_key: Simple {                                                                             key: "storage",                                                                             py_key: Py(                                                                                 0x00007f68944db9f0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "storage",                                                                                         Py(                                                                                             0x00007f68944db930,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68986cb7b0,                                                                         ),                                                                         validator: StrEnum(                                                                             EnumValidator {                                                                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                                                 class: Py(                                                                                     0x000055aae6755060,                                                                                 ),                                                                                 lookup: LiteralLookup {                                                                                     expected_bool: None,                                                                                     expected_int: None,                                                                                     expected_str: Some(                                                                                         {                                                                                             "binary_big_endian": 2,                                                                                             "binary_little_endian": 1,                                                                                             "ascii": 0,                                                                                         },                                                                                     ),                                                                                     expected_py_dict: None,                                                                                     expected_py_values: None,                                                                                     values: [                                                                                         Py(                                                                                             0x00007f6894dbf2f0,                                                                                         ),                                                                                         Py(                                                                                             0x00007f6894dbf350,                                                                                         ),                                                                                         Py(                                                                                             0x00007f6894dbf3b0,                                                                                         ),                                                                                     ],                                                                                 },                                                                                 missing: None,                                                                                 expected_repr: "'ascii', 'binary_little_endian' or 'binary_big_endian'",                                                                                 strict: false,                                                                                 class_repr: "PlyStorage",                                                                                 name: "str-enum[PlyStorage]",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68944db900,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68944db810,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f689519aee0,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "ply": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f689519aee0,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'ply'",                                                                                         name: "literal['ply']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['ply']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "units",                                                                         lookup_key: Simple {                                                                             key: "units",                                                                             py_key: Py(                                                                                 0x00007f68944db8a0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "units",                                                                                         Py(                                                                                             0x00007f68944db7b0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "ply",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae62cfc30,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "ply",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "coords",                                                                         lookup_key: Simple {                                                                             key: "coords",                                                                             py_key: Py(                                                                                 0x00007f68944db7e0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "coords",                                                                                         Py(                                                                                             0x00007f68944db840,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68944db990,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68944db960,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68a783d2c8,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "step": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f68a783d2c8,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'step'",                                                                                         name: "literal['step']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['step']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "step",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae624d810,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "step",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "coords",                                                                         lookup_key: Simple {                                                                             key: "coords",                                                                             py_key: Py(                                                                                 0x00007f68944db870,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "coords",                                                                                         Py(                                                                                             0x00007f68944db8d0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "selection",                                                                         lookup_key: Simple {                                                                             key: "selection",                                                                             py_key: Py(                                                                                 0x00007f6894306f70,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "selection",                                                                                         Py(                                                                                             0x00007f6894304570,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f689510e8b0,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "storage",                                                                         lookup_key: Simple {                                                                             key: "storage",                                                                             py_key: Py(                                                                                 0x00007f68944dba50,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "storage",                                                                                         Py(                                                                                             0x00007f68944dba20,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68986cb7b0,                                                                         ),                                                                         validator: StrEnum(                                                                             EnumValidator {                                                                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                                                 class: Py(                                                                                     0x000055aae62c5d60,                                                                                 ),                                                                                 lookup: LiteralLookup {                                                                                     expected_bool: None,                                                                                     expected_int: None,                                                                                     expected_str: Some(                                                                                         {                                                                                             "ascii": 0,                                                                                             "binary": 1,                                                                                         },                                                                                     ),                                                                                     expected_py_dict: None,                                                                                     expected_py_values: None,                                                                                     values: [                                                                                         Py(                                                                                             0x00007f6894dbfad0,                                                                                         ),                                                                                         Py(                                                                                             0x00007f6894dbfb30,                                                                                         ),                                                                                     ],                                                                                 },                                                                                 missing: None,                                                                                 expected_repr: "'ascii' or 'binary'",                                                                                 strict: false,                                                                                 class_repr: "StlStorage",                                                                                 name: "str-enum[StlStorage]",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68944dba80,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68944dbab0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f689519b3c0,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "stl": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f689519b3c0,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'stl'",                                                                                         name: "literal['stl']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['stl']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "units",                                                                         lookup_key: Simple {                                                                             key: "units",                                                                             py_key: Py(                                                                                 0x00007f68944dbae0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "units",                                                                                         Py(                                                                                             0x00007f68944dbb10,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "stl",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae6255430,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "stl",                                                     },                                                 ),                                             ],                                         },                                         from_attributes: true,                                         strict: false,                                         custom_error: None,                                         tags_repr: "'fbx', 'gltf', 'obj', 'ply', 'step', 'stl'",                                         discriminator_repr: "'type'",                                         name: "tagged-union[fbx,gltf,obj,ply,step,stl]",                                     },                                 ),                                 class: Py(                                     0x000055aae65bd1a0,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: true,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944dbba0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944dbbd0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a27bf600,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "export": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68a27bf600,                                                 ),                                             ],                                         },                                         expected_repr: "'export'",                                         name: "literal['export']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['export']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "export",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6b92360,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "export",     }, ), definitions=[StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55aae6034180), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"positive": 0, "negative": 1}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f6894dbdeb0), Py(0x7f6894dbdf10)] }, missing: None, expected_repr: "'positive' or 'negative'", strict: false, class_repr: "Direction", name: "str-enum[Direction]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "forward", lookup_key: Simple { key: "forward", py_key: Py(0x7f68944eeb50), path: LookupPath([S("forward", Py(0x7f68944eeaf0))]) }, name_py: Py(0x7f68975ef390), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "up", lookup_key: Simple { key: "up", py_key: Py(0x7f68944eeac0), path: LookupPath([S("up", Py(0x7f68944eeb20))]) }, name_py: Py(0x7f68a65f7900), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "System", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae64a0d80), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "System" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7f68944da4c0), path: LookupPath([S("name", Py(0x7f68944da130))]) }, name_py: Py(0x7f68a783b7b0), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f68944da190), path: LookupPath([S("type", Py(0x7f68944da160))]) }, name_py: Py(0x7f68a783da58), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f689513dcb0)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"scene_by_name": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f689513dcb0)] }, expected_repr: "'scene_by_name'", name: "literal['scene_by_name']" }), validate_default: false, copy_default: false, name: "default[literal['scene_by_name']]", undefined: Py(0x7f6896b91e70) }), frozen: false }], model_name: "scene_by_name", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6758b00), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "scene_by_name" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55aae674e4b0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"m": 3, "ft": 1, "cm": 0, "in": 2, "mm": 4, "yd": 5}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f6894dbdaf0), Py(0x7f6894dbdfd0), Py(0x7f6894dbe150), Py(0x7f6894dbe1b0), Py(0x7f6894dbe210), Py(0x7f6894dbe270)] }, missing: None, expected_repr: "'cm', 'ft', 'in', 'm', 'mm' or 'yd'", strict: false, class_repr: "UnitLength", name: "str-enum[UnitLength]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "index", lookup_key: Simple { key: "index", py_key: Py(0x7f68944da2b0), path: LookupPath([S("index", Py(0x7f68944da280))]) }, name_py: Py(0x7f68a77fbca0), validator: Int(IntValidator { strict: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f68944da220), path: LookupPath([S("type", Py(0x7f68944da1f0))]) }, name_py: Py(0x7f68a783da58), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f689513fef0)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"mesh_by_index": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f689513fef0)] }, expected_repr: "'mesh_by_index'", name: "literal['mesh_by_index']" }), validate_default: false, copy_default: false, name: "default[literal['mesh_by_index']]", undefined: Py(0x7f6896b91e70) }), frozen: false }], model_name: "mesh_by_index", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae675a5f0), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "mesh_by_index" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7f68944da250), path: LookupPath([S("name", Py(0x7f68944db750))]) }, name_py: Py(0x7f68a783b7b0), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f68944db480), path: LookupPath([S("type", Py(0x7f68944db4b0))]) }, name_py: Py(0x7f68a783da58), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f6894ff7e70)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"mesh_by_name": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f6894ff7e70)] }, expected_repr: "'mesh_by_name'", name: "literal['mesh_by_name']" }), validate_default: false, copy_default: false, name: "default[literal['mesh_by_name']]", undefined: Py(0x7f6896b91e70) }), frozen: false }], model_name: "mesh_by_name", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae675c3f0), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "mesh_by_name" }), Model(ModelValidator { revalidate: Never, validator: TaggedUnion(TaggedUnionValidator { discriminator: LookupKey(Simple { key: "type", py_key: Py(0x7f68a783da58), path: LookupPath([S("type", Py(0x7f68a783da58))]) }), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"mesh_by_name": 4, "default_scene": 0, "scene_by_index": 1, "scene_by_name": 2, "mesh_by_index": 3}), expected_py_dict: None, expected_py_values: None, values: [DefinitionRef(DefinitionRefValidator { definition: "default_scene" }), DefinitionRef(DefinitionRefValidator { definition: "scene_by_index" }), DefinitionRef(DefinitionRefValidator { definition: "scene_by_name" }), DefinitionRef(DefinitionRefValidator { definition: "mesh_by_index" }), DefinitionRef(DefinitionRefValidator { definition: "mesh_by_name" })] }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'default_scene', 'scene_by_index', 'scene_by_name', 'mesh_by_index', 'mesh_by_name'", discriminator_repr: "'type'", name: "tagged-union[default_scene,scene_by_index,scene_by_name,mesh_by_index,mesh_by_name]" }), class: Py(0x55aae675e810), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py(0x7f6896b91e70), name: "RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f68944db2a0), path: LookupPath([S("type", Py(0x7f68944da400))]) }, name_py: Py(0x7f68a783da58), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f689502fdf0)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"default_scene": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f689502fdf0)] }, expected_repr: "'default_scene'", name: "literal['default_scene']" }), validate_default: false, copy_default: false, name: "default[literal['default_scene']]", undefined: Py(0x7f6896b91e70) }), frozen: false }], model_name: "default_scene", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae64ad740), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "default_scene" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55aae64a23c0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"z": 1, "y": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f6894dbdd30), Py(0x7f6894dbdd90)] }, missing: None, expected_repr: "'y' or 'z'", strict: false, class_repr: "Axis", name: "str-enum[Axis]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "index", lookup_key: Simple { key: "index", py_key: Py(0x7f68944da490), path: LookupPath([S("index", Py(0x7f68944da340))]) }, name_py: Py(0x7f68a77fbca0), validator: Int(IntValidator { strict: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f68944da370), path: LookupPath([S("type", Py(0x7f68944da2e0))]) }, name_py: Py(0x7f68a783da58), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f689502e4b0)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"scene_by_index": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f689502e4b0)] }, expected_repr: "'scene_by_index'", name: "literal['scene_by_index']" }), validate_default: false, copy_default: false, name: "default[literal['scene_by_index']]", undefined: Py(0x7f6896b91e70) }), frozen: false }], model_name: "scene_by_index", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6757010), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "scene_by_index" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py(0x7f68944eea60), path: LookupPath([S("axis", Py(0x7f68944eeb80))]) }, name_py: Py(0x7f68a6005320), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "direction", lookup_key: Simple { key: "direction", py_key: Py(0x7f6894316970), path: LookupPath([S("direction", Py(0x7f6894304670))]) }, name_py: Py(0x7f68a6645570), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "AxisDirectionPair", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae64a3350), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "AxisDirectionPair" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_ids: List[str], format: pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], type: Literal['export'] = 'export') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_ids: List[str][source]
format: RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_ids': FieldInfo(annotation=List[str], required=True), 'format': FieldInfo(annotation=RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], required=True), 'type': FieldInfo(annotation=Literal['export'], required=False, default='export')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['export'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.extend_path(**data)[source][source]

Extend a path by adding a new segment which starts at the path’s “pen”. If no “pen” location has been set before (via MovePen), then the pen is at the origin.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'path': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'segment': <class 'pydantic.root_model.RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'type': typing.Literal['extend_path']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.angle.Angle'>, 'config': {'title': 'Angle'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.angle.Angle'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.angle.Angle'>>]}, 'ref': 'kittycad.models.angle.Angle:94192496883040', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_angle.UnitAngle:94192496658640', 'type': 'definition-ref'}, 'type': 'model-field'}, 'value': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Angle', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'UnitAngle'>, 'members': [UnitAngle.DEGREES, UnitAngle.RADIANS], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_angle.UnitAngle:94192496658640', 'sub_type': 'str', 'type': 'enum'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.extend_path'>, 'config': {'title': 'extend_path'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.extend_path'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.extend_path'>>]}, 'ref': 'kittycad.models.modeling_cmd.extend_path:94192504029808', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'segment': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94192496630560[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:140087141176128]", 'root_model': True, 'schema': {'choices': {'arc': {'cls': <class 'kittycad.models.path_segment.arc'>, 'config': {'title': 'arc'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_segment.arc'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.arc'>>]}, 'ref': 'kittycad.models.path_segment.arc:94192503594960', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'center': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'end': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94192496883040', 'type': 'definition-ref'}, 'type': 'model-field'}, 'radius': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'relative': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'start': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94192496883040', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'arc', 'schema': {'expected': ['arc'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'arc', 'type': 'model-fields'}, 'type': 'model'}, 'bezier': {'cls': <class 'kittycad.models.path_segment.bezier'>, 'config': {'title': 'bezier'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_segment.bezier'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.bezier'>>]}, 'ref': 'kittycad.models.path_segment.bezier:94192503480176', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'control1': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'control2': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'end': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'relative': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'bezier', 'schema': {'expected': ['bezier'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'bezier', 'type': 'model-fields'}, 'type': 'model'}, 'line': {'cls': <class 'kittycad.models.path_segment.line'>, 'config': {'title': 'line'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_segment.line'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.line'>>]}, 'ref': 'kittycad.models.path_segment.line:94192503582688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'end': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'relative': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'line', 'schema': {'expected': ['line'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'line', 'type': 'model-fields'}, 'type': 'model'}, 'tangential_arc': {'cls': <class 'kittycad.models.path_segment.tangential_arc'>, 'config': {'title': 'tangential_arc'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_segment.tangential_arc'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.tangential_arc'>>]}, 'ref': 'kittycad.models.path_segment.tangential_arc:94192503500368', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'offset': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94192496883040', 'type': 'definition-ref'}, 'type': 'model-field'}, 'radius': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'tangential_arc', 'schema': {'expected': ['tangential_arc'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'tangential_arc', 'type': 'model-fields'}, 'type': 'model'}, 'tangential_arc_to': {'cls': <class 'kittycad.models.path_segment.tangential_arc_to'>, 'config': {'title': 'tangential_arc_to'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_segment.tangential_arc_to'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.tangential_arc_to'>>]}, 'ref': 'kittycad.models.path_segment.tangential_arc_to:94192503516016', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'angle_snap_increment': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.angle.Angle:94192496883040', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'to': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'tangential_arc_to', 'schema': {'expected': ['tangential_arc_to'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'tangential_arc_to', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'extend_path', 'schema': {'expected': ['extend_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'extend_path', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6be4270,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "path": SerField {                         key_py: Py(                             0x00007f68a783c088,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689728f2b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "extend_path",                                             },                                             expected_py: None,                                             name: "literal['extend_path']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "segment": SerField {                         key_py: Py(                             0x00007f68a68de040,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b6c010,                                     ),                                     serializer: Union(                                         UnionSerializer {                                             choices: [                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae6b76fe0,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "end": SerField {                                                                         key_py: Py(                                                                             0x00007f68a7839760,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "relative": SerField {                                                                         key_py: Py(                                                                             0x00007f68988993f0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Bool(                                                                                 BoolSerializer,                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68a783b030,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "line",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['line']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 3,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "line",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae6b79fd0,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "center": SerField {                                                                         key_py: Py(                                                                             0x00007f68a7108150,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Model(                                                                                 ModelSerializer {                                                                                     class: Py(                                                                                         0x000055aae6b03c20,                                                                                     ),                                                                                     serializer: Fields(                                                                                         GeneralFieldsSerializer {                                                                                             fields: {                                                                                                 "x": SerField {                                                                                                     key_py: Py(                                                                                                         0x00007f68a783df18,                                                                                                     ),                                                                                                     alias: None,                                                                                                     alias_py: None,                                                                                                     serializer: Some(                                                                                                         Float(                                                                                                             FloatSerializer {                                                                                                                 inf_nan_mode: Null,                                                                                                             },                                                                                                         ),                                                                                                     ),                                                                                                     required: true,                                                                                                 },                                                                                                 "y": SerField {                                                                                                     key_py: Py(                                                                                                         0x00007f68a783f658,                                                                                                     ),                                                                                                     alias: None,                                                                                                     alias_py: None,                                                                                                     serializer: Some(                                                                                                         Float(                                                                                                             FloatSerializer {                                                                                                                 inf_nan_mode: Null,                                                                                                             },                                                                                                         ),                                                                                                     ),                                                                                                     required: true,                                                                                                 },                                                                                             },                                                                                             computed_fields: Some(                                                                                                 ComputedFields(                                                                                                     [],                                                                                                 ),                                                                                             ),                                                                                             mode: SimpleDict,                                                                                             extra_serializer: None,                                                                                             filter: SchemaFilter {                                                                                                 include: None,                                                                                                 exclude: None,                                                                                             },                                                                                             required_fields: 2,                                                                                         },                                                                                     ),                                                                                     has_extra: false,                                                                                     root_model: false,                                                                                     name: "Point2d",                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "end": SerField {                                                                         key_py: Py(                                                                             0x00007f68a7839760,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "relative": SerField {                                                                         key_py: Py(                                                                             0x00007f68988993f0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Bool(                                                                                 BoolSerializer,                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "radius": SerField {                                                                         key_py: Py(                                                                             0x00007f689760f390,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Float(                                                                                 FloatSerializer {                                                                                     inf_nan_mode: Null,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "start": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783d1a0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f6898023960,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "arc",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['arc']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 6,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "arc",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae6b5df70,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "relative": SerField {                                                                         key_py: Py(                                                                             0x00007f68988993f0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Bool(                                                                                 BoolSerializer,                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68987de310,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "bezier",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['bezier']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "control2": SerField {                                                                         key_py: Py(                                                                             0x00007f68944e6d30,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "end": SerField {                                                                         key_py: Py(                                                                             0x00007f68a7839760,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "control1": SerField {                                                                         key_py: Py(                                                                             0x00007f68944e4fb0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 5,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "bezier",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae6b62e50,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "offset": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783bbe8,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "radius": SerField {                                                                         key_py: Py(                                                                             0x00007f689760f390,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Float(                                                                                 FloatSerializer {                                                                                     inf_nan_mode: Null,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68944b9c70,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "tangential_arc",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['tangential_arc']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 3,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "tangential_arc",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae6b66b70,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68944b9ef0,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "tangential_arc_to",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['tangential_arc_to']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "to": SerField {                                                                         key_py: Py(                                                                             0x00007f68a6d8b0c0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "angle_snap_increment": SerField {                                                                         key_py: Py(                                                                             0x00007f68944b9fb0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68a7748100,                                                                                         ),                                                                                     ),                                                                                     serializer: Nullable(                                                                                         NullableSerializer {                                                                                             serializer: Recursive(                                                                                                 DefinitionRefSerializer {                                                                                                     definition: "...",                                                                                                     retry_with_lax_check: true,                                                                                                 },                                                                                             ),                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 3,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "tangential_arc_to",                                                     },                                                 ),                                             ],                                             name: "Union[line, arc, bezier, tangential_arc, tangential_arc_to]",                                         },                                     ),                                     has_extra: false,                                     root_model: true,                                     name: "RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "extend_path",     }, ), definitions=[Enum(EnumSerializer { class: Py(0x55aae64dc8d0), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55aae6232b70), serializer: Fields(GeneralFieldsSerializer { fields: {"y": SerField { key_py: Py(0x7f68a783f658), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "x": SerField { key_py: Py(0x7f68a783df18), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "z": SerField { key_py: Py(0x7f68a783f688), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Point3d" }), Model(ModelSerializer { class: Py(0x55aae6513560), serializer: Fields(GeneralFieldsSerializer { fields: {"value": SerField { key_py: Py(0x7f68a783dc20), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "unit": SerField { key_py: Py(0x7f68a600aee0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "Angle" })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="extend_path", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "path",                         lookup_key: Simple {                             key: "path",                             py_key: Py(                                 0x00007f689449b330,                             ),                             path: LookupPath(                                 [                                     S(                                         "path",                                         Py(                                             0x00007f689449b4b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783c088,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 func: Py(                                     0x000055aae6b72810,                                 ),                                 config: Py(                                     0x00007f68944971c0,                                 ),                                 name: "function-after[ModelingCmdId(), str]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "segment",                         lookup_key: Simple {                             key: "segment",                             py_key: Py(                                 0x00007f68945e0270,                             ),                             path: LookupPath(                                 [                                     S(                                         "segment",                                         Py(                                             0x00007f68945e2d00,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a68de040,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: TaggedUnion(                                     TaggedUnionValidator {                                         discriminator: LookupKey(                                             Simple {                                                 key: "type",                                                 py_key: Py(                                                     0x00007f68a783da58,                                                 ),                                                 path: LookupPath(                                                     [                                                         S(                                                             "type",                                                             Py(                                                                 0x00007f68a783da58,                                                             ),                                                         ),                                                     ],                                                 ),                                             },                                         ),                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "bezier": 2,                                                     "tangential_arc_to": 4,                                                     "tangential_arc": 3,                                                     "line": 0,                                                     "arc": 1,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "end",                                                                         lookup_key: Simple {                                                                             key: "end",                                                                             py_key: Py(                                                                                 0x00007f689449b450,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "end",                                                                                         Py(                                                                                             0x00007f689449b3f0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a7839760,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "relative",                                                                         lookup_key: Simple {                                                                             key: "relative",                                                                             py_key: Py(                                                                                 0x00007f68944a6d30,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "relative",                                                                                         Py(                                                                                             0x00007f689449d670,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68988993f0,                                                                         ),                                                                         validator: Bool(                                                                             BoolValidator {                                                                                 strict: false,                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f689449b3c0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f689449b420,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68a783b030,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "line": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f68a783b030,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'line'",                                                                                         name: "literal['line']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['line']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "line",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae6b76fe0,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "line",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "center",                                                                         lookup_key: Simple {                                                                             key: "center",                                                                             py_key: Py(                                                                                 0x00007f6894498270,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "center",                                                                                         Py(                                                                                             0x00007f68944982a0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a7108150,                                                                         ),                                                                         validator: Model(                                                                             ModelValidator {                                                                                 revalidate: Never,                                                                                 validator: ModelFields(                                                                                     ModelFieldsValidator {                                                                                         fields: [                                                                                             Field {                                                                                                 name: "x",                                                                                                 lookup_key: Simple {                                                                                                     key: "x",                                                                                                     py_key: Py(                                                                                                         0x00007f68a783f628,                                                                                                     ),                                                                                                     path: LookupPath(                                                                                                         [                                                                                                             S(                                                                                                                 "x",                                                                                                                 Py(                                                                                                                     0x00007f68a783f628,                                                                                                                 ),                                                                                                             ),                                                                                                         ],                                                                                                     ),                                                                                                 },                                                                                                 name_py: Py(                                                                                                     0x00007f68a783df18,                                                                                                 ),                                                                                                 validator: FunctionAfter(                                                                                                     FunctionAfterValidator {                                                                                                         validator: Float(                                                                                                             FloatValidator {                                                                                                                 strict: false,                                                                                                                 allow_inf_nan: true,                                                                                                             },                                                                                                         ),                                                                                                         func: Py(                                                                                                             0x000055aae636ccf0,                                                                                                         ),                                                                                                         config: Py(                                                                                                             0x00007f6894496ec0,                                                                                                         ),                                                                                                         name: "function-after[LengthUnit(), float]",                                                                                                         field_name: None,                                                                                                         info_arg: false,                                                                                                     },                                                                                                 ),                                                                                                 frozen: false,                                                                                             },                                                                                             Field {                                                                                                 name: "y",                                                                                                 lookup_key: Simple {                                                                                                     key: "y",                                                                                                     py_key: Py(                                                                                                         0x00007f68a783f658,                                                                                                     ),                                                                                                     path: LookupPath(                                                                                                         [                                                                                                             S(                                                                                                                 "y",                                                                                                                 Py(                                                                                                                     0x00007f68a783f658,                                                                                                                 ),                                                                                                             ),                                                                                                         ],                                                                                                     ),                                                                                                 },                                                                                                 name_py: Py(                                                                                                     0x00007f68a783f658,                                                                                                 ),                                                                                                 validator: FunctionAfter(                                                                                                     FunctionAfterValidator {                                                                                                         validator: Float(                                                                                                             FloatValidator {                                                                                                                 strict: false,                                                                                                                 allow_inf_nan: true,                                                                                                             },                                                                                                         ),                                                                                                         func: Py(                                                                                                             0x000055aae636ccf0,                                                                                                         ),                                                                                                         config: Py(                                                                                                             0x00007f6894496ec0,                                                                                                         ),                                                                                                         name: "function-after[LengthUnit(), float]",                                                                                                         field_name: None,                                                                                                         info_arg: false,                                                                                                     },                                                                                                 ),                                                                                                 frozen: false,                                                                                             },                                                                                         ],                                                                                         model_name: "Point2d",                                                                                         extra_behavior: Ignore,                                                                                         extras_validator: None,                                                                                         strict: false,                                                                                         from_attributes: false,                                                                                         loc_by_alias: true,                                                                                     },                                                                                 ),                                                                                 class: Py(                                                                                     0x000055aae6b03c20,                                                                                 ),                                                                                 post_init: None,                                                                                 frozen: false,                                                                                 custom_init: false,                                                                                 root_model: false,                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                                 name: "Point2d",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "end",                                                                         lookup_key: Simple {                                                                             key: "end",                                                                             py_key: Py(                                                                                 0x00007f68944983f0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "end",                                                                                         Py(                                                                                             0x00007f689449a760,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a7839760,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "Angle",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "radius",                                                                         lookup_key: Simple {                                                                             key: "radius",                                                                             py_key: Py(                                                                                 0x00007f6894498360,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "radius",                                                                                         Py(                                                                                             0x00007f68944984b0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f689760f390,                                                                         ),                                                                         validator: FunctionAfter(                                                                             FunctionAfterValidator {                                                                                 validator: Float(                                                                                     FloatValidator {                                                                                         strict: false,                                                                                         allow_inf_nan: true,                                                                                     },                                                                                 ),                                                                                 func: Py(                                                                                     0x000055aae636ccf0,                                                                                 ),                                                                                 config: Py(                                                                                     0x00007f6894497d40,                                                                                 ),                                                                                 name: "function-after[LengthUnit(), float]",                                                                                 field_name: None,                                                                                 info_arg: false,                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "relative",                                                                         lookup_key: Simple {                                                                             key: "relative",                                                                             py_key: Py(                                                                                 0x00007f689449d570,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "relative",                                                                                         Py(                                                                                             0x00007f689449d5f0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68988993f0,                                                                         ),                                                                         validator: Bool(                                                                             BoolValidator {                                                                                 strict: false,                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "start",                                                                         lookup_key: Simple {                                                                             key: "start",                                                                             py_key: Py(                                                                                 0x00007f6894498390,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "start",                                                                                         Py(                                                                                             0x00007f68944994d0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783d1a0,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "Angle",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68944983c0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f6894498480,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f6898023960,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "arc": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f6898023960,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'arc'",                                                                                         name: "literal['arc']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['arc']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "arc",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae6b79fd0,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "arc",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "control1",                                                                         lookup_key: Simple {                                                                             key: "control1",                                                                             py_key: Py(                                                                                 0x00007f689449d330,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "control1",                                                                                         Py(                                                                                             0x00007f689449d4f0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68944e4fb0,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "control2",                                                                         lookup_key: Simple {                                                                             key: "control2",                                                                             py_key: Py(                                                                                 0x00007f689449d3f0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "control2",                                                                                         Py(                                                                                             0x00007f689449d7b0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68944e6d30,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "end",                                                                         lookup_key: Simple {                                                                             key: "end",                                                                             py_key: Py(                                                                                 0x00007f6894498420,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "end",                                                                                         Py(                                                                                             0x00007f6894499350,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a7839760,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "relative",                                                                         lookup_key: Simple {                                                                             key: "relative",                                                                             py_key: Py(                                                                                 0x00007f689449d530,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "relative",                                                                                         Py(                                                                                             0x00007f689449d470,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68988993f0,                                                                         ),                                                                         validator: Bool(                                                                             BoolValidator {                                                                                 strict: false,                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f6894499410,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68944132a0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68987de310,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "bezier": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f68987de310,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'bezier'",                                                                                         name: "literal['bezier']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['bezier']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "bezier",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae6b5df70,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "bezier",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "offset",                                                                         lookup_key: Simple {                                                                             key: "offset",                                                                             py_key: Py(                                                                                 0x00007f68944133c0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "offset",                                                                                         Py(                                                                                             0x00007f6894413090,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783bbe8,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "Angle",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "radius",                                                                         lookup_key: Simple {                                                                             key: "radius",                                                                             py_key: Py(                                                                                 0x00007f68944130f0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "radius",                                                                                         Py(                                                                                             0x00007f68944131e0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f689760f390,                                                                         ),                                                                         validator: FunctionAfter(                                                                             FunctionAfterValidator {                                                                                 validator: Float(                                                                                     FloatValidator {                                                                                         strict: false,                                                                                         allow_inf_nan: true,                                                                                     },                                                                                 ),                                                                                 func: Py(                                                                                     0x000055aae636ccf0,                                                                                 ),                                                                                 config: Py(                                                                                     0x00007f6894497640,                                                                                 ),                                                                                 name: "function-after[LengthUnit(), float]",                                                                                 field_name: None,                                                                                 info_arg: false,                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f6894413270,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68944133f0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68944b9c70,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "tangential_arc": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f68944b9c70,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'tangential_arc'",                                                                                         name: "literal['tangential_arc']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['tangential_arc']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "tangential_arc",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae6b62e50,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "tangential_arc",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "angle_snap_increment",                                                                         lookup_key: Simple {                                                                             key: "angle_snap_increment",                                                                             py_key: Py(                                                                                 0x00007f689449d4b0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "angle_snap_increment",                                                                                         Py(                                                                                             0x00007f689449d3b0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68944b9fb0,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68a7748100,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Nullable(                                                                                     NullableValidator {                                                                                         validator: DefinitionRef(                                                                                             DefinitionRefValidator {                                                                                                 definition: "Angle",                                                                                             },                                                                                         ),                                                                                         name: "nullable[Angle]",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[nullable[Angle]]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "to",                                                                         lookup_key: Simple {                                                                             key: "to",                                                                             py_key: Py(                                                                                 0x00007f6894546880,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "to",                                                                                         Py(                                                                                             0x00007f68945e2c10,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a6d8b0c0,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68945e2010,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68945e2dc0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68944b9ef0,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "tangential_arc_to": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f68944b9ef0,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'tangential_arc_to'",                                                                                         name: "literal['tangential_arc_to']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['tangential_arc_to']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "tangential_arc_to",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae6b66b70,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "tangential_arc_to",                                                     },                                                 ),                                             ],                                         },                                         from_attributes: true,                                         strict: false,                                         custom_error: None,                                         tags_repr: "'line', 'arc', 'bezier', 'tangential_arc', 'tangential_arc_to'",                                         discriminator_repr: "'type'",                                         name: "tagged-union[line,arc,bezier,tangential_arc,tangential_arc_to]",                                     },                                 ),                                 class: Py(                                     0x000055aae6b6c010,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: true,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68945e1ec0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68945e2e50,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689728f2b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "extend_path": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689728f2b0,                                                 ),                                             ],                                         },                                         expected_repr: "'extend_path'",                                         name: "literal['extend_path']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['extend_path']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "extend_path",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6be4270,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "extend_path",     }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f68a783f628), path: LookupPath([S("x", Py(0x7f68a783f628))]) }, name_py: Py(0x7f68a783df18), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f68a783f658), path: LookupPath([S("y", Py(0x7f68a783f658))]) }, name_py: Py(0x7f68a783f658), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f68a783f688), path: LookupPath([S("z", Py(0x7f68a783f688))]) }, name_py: Py(0x7f68a783f688), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Point3d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6232b70), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "Point3d" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55aae64dc8d0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"radians": 1, "degrees": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f6894d6e990), Py(0x7f6894d6e9f0)] }, missing: None, expected_repr: "'degrees' or 'radians'", strict: false, class_repr: "UnitAngle", name: "str-enum[UnitAngle]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "unit", lookup_key: Simple { key: "unit", py_key: Py(0x7f689449b630), path: LookupPath([S("unit", Py(0x7f689449b480))]) }, name_py: Py(0x7f68a600aee0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "value", lookup_key: Simple { key: "value", py_key: Py(0x7f689449b300), path: LookupPath([S("value", Py(0x7f689449b360))]) }, name_py: Py(0x7f68a783dc20), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Angle", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6513560), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "Angle" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, path: kittycad.models.modeling_cmd_id.ModelingCmdId, segment: pydantic.root_model.RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], type: Literal['extend_path'] = 'extend_path') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'path': FieldInfo(annotation=ModelingCmdId, required=True), 'segment': FieldInfo(annotation=RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], required=True), 'type': FieldInfo(annotation=Literal['extend_path'], required=False, default='extend_path')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

path: ModelingCmdId[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

segment: RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]][source]
type: Literal['extend_path'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.extrude(**data)[source][source]

Command for extruding a solid 2d.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'cap': <class 'bool'>, 'distance': <class 'kittycad.models.length_unit.LengthUnit'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'target': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': typing.Literal['extrude']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.extrude'>, 'config': {'title': 'extrude'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.extrude'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.extrude'>>]}, 'ref': 'kittycad.models.modeling_cmd.extrude:94192504045936', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cap': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'distance': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'target': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'extrude', 'schema': {'expected': ['extrude'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'extrude', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6be8170,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "distance": SerField {                         key_py: Py(                             0x00007f68a67d9cf0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "cap": SerField {                         key_py: Py(                             0x00007f68a2735680,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6894498f60,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "extrude",                                             },                                             expected_py: None,                                             name: "literal['extrude']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "target": SerField {                         key_py: Py(                             0x00007f68a783d540,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "extrude",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="extrude", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "cap",                         lookup_key: Simple {                             key: "cap",                             py_key: Py(                                 0x00007f68944bdc20,                             ),                             path: LookupPath(                                 [                                     S(                                         "cap",                                         Py(                                             0x00007f68944bdc50,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a2735680,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "distance",                         lookup_key: Simple {                             key: "distance",                             py_key: Py(                                 0x00007f68944967b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "distance",                                         Py(                                             0x00007f68944967f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a67d9cf0,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 func: Py(                                     0x000055aae636ccf0,                                 ),                                 config: Py(                                     0x00007f689449d040,                                 ),                                 name: "function-after[LengthUnit(), float]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "target",                         lookup_key: Simple {                             key: "target",                             py_key: Py(                                 0x00007f68944bdc80,                             ),                             path: LookupPath(                                 [                                     S(                                         "target",                                         Py(                                             0x00007f68944bdcb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783d540,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 func: Py(                                     0x000055aae6b72810,                                 ),                                 config: Py(                                     0x00007f689449d040,                                 ),                                 name: "function-after[ModelingCmdId(), str]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944bdce0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944bdd10,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6894498f60,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "extrude": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6894498f60,                                                 ),                                             ],                                         },                                         expected_repr: "'extrude'",                                         name: "literal['extrude']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['extrude']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "extrude",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6be8170,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "extrude",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, cap: bool, distance: kittycad.models.length_unit.LengthUnit, target: kittycad.models.modeling_cmd_id.ModelingCmdId, type: Literal['extrude'] = 'extrude') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

cap: bool[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

distance: LengthUnit[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'cap': FieldInfo(annotation=bool, required=True), 'distance': FieldInfo(annotation=LengthUnit, required=True), 'target': FieldInfo(annotation=ModelingCmdId, required=True), 'type': FieldInfo(annotation=Literal['extrude'], required=False, default='extrude')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

target: ModelingCmdId[source]
type: Literal['extrude'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.face_get_center(**data)[source][source]

Obtains the surface “center of mass”

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['face_get_center']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.face_get_center'>, 'config': {'title': 'face_get_center'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.face_get_center'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.face_get_center'>>]}, 'ref': 'kittycad.models.modeling_cmd.face_get_center:94192504794560', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_get_center', 'schema': {'expected': ['face_get_center'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'face_get_center', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c9edc0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6896b52ef0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "face_get_center",                                             },                                             expected_py: None,                                             name: "literal['face_get_center']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "face_get_center",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="face_get_center", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943ff570,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f689420c3f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894210a50,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894210a80,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6896b52ef0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "face_get_center": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6896b52ef0,                                                 ),                                             ],                                         },                                         expected_repr: "'face_get_center'",                                         name: "literal['face_get_center']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['face_get_center']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "face_get_center",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c9edc0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "face_get_center",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, object_id: str, type: Literal['face_get_center'] = 'face_get_center') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['face_get_center'], required=False, default='face_get_center')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['face_get_center'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.face_get_gradient(**data)[source][source]

Determines the gradient (dFdu, dFdv) + normal vector on a brep face evaluated by parameters u,v

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['face_get_gradient'], 'uv': <class 'kittycad.models.point2d.Point2d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.face_get_gradient'>, 'config': {'title': 'face_get_gradient'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.face_get_gradient'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.face_get_gradient'>>]}, 'ref': 'kittycad.models.modeling_cmd.face_get_gradient:94192504806448', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_get_gradient', 'schema': {'expected': ['face_get_gradient'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'uv': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'face_get_gradient', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6ca1c30,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6896b51b70,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "face_get_gradient",                                             },                                             expected_py: None,                                             name: "literal['face_get_gradient']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "uv": SerField {                         key_py: Py(                             0x00007f689561ce10,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "face_get_gradient",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="face_get_gradient", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f689420d570,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f689420d530,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894212130,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894212190,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6896b51b70,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "face_get_gradient": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6896b51b70,                                                 ),                                             ],                                         },                                         expected_repr: "'face_get_gradient'",                                         name: "literal['face_get_gradient']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['face_get_gradient']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "uv",                         lookup_key: Simple {                             key: "uv",                             py_key: Py(                                 0x00007f68942121f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "uv",                                         Py(                                             0x00007f6894212220,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689561ce10,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f689420d4c0,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f689420d4c0,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "face_get_gradient",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6ca1c30,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "face_get_gradient",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, object_id: str, type: Literal['face_get_gradient'] = 'face_get_gradient', uv: kittycad.models.point2d.Point2d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['face_get_gradient'], required=False, default='face_get_gradient'), 'uv': FieldInfo(annotation=Point2d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['face_get_gradient'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

uv: Point2d[source]
classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.face_get_position(**data)[source][source]

Determines a position on a brep face evaluated by parameters u,v

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['face_get_position'], 'uv': <class 'kittycad.models.point2d.Point2d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.face_get_position'>, 'config': {'title': 'face_get_position'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.face_get_position'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.face_get_position'>>]}, 'ref': 'kittycad.models.modeling_cmd.face_get_position:94192504707392', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_get_position', 'schema': {'expected': ['face_get_position'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'uv': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'face_get_position', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c89940,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "uv": SerField {                         key_py: Py(                             0x00007f689561ce10,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6896b528b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "face_get_position",                                             },                                             expected_py: None,                                             name: "literal['face_get_position']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "face_get_position",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="face_get_position", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943ffc70,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943ffc30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943f7a50,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943f7ab0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6896b528b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "face_get_position": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6896b528b0,                                                 ),                                             ],                                         },                                         expected_repr: "'face_get_position'",                                         name: "literal['face_get_position']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['face_get_position']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "uv",                         lookup_key: Simple {                             key: "uv",                             py_key: Py(                                 0x00007f68943f7b10,                             ),                             path: LookupPath(                                 [                                     S(                                         "uv",                                         Py(                                             0x00007f68943f7b40,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689561ce10,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f68943ffbc0,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f68943ffbc0,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "face_get_position",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c89940,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "face_get_position",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, object_id: str, type: Literal['face_get_position'] = 'face_get_position', uv: kittycad.models.point2d.Point2d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['face_get_position'], required=False, default='face_get_position'), 'uv': FieldInfo(annotation=Point2d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['face_get_position'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

uv: Point2d[source]
classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.face_is_planar(**data)[source][source]

Determines whether a brep face is planar and returns its surface-local planar axes if so

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['face_is_planar']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.face_is_planar'>, 'config': {'title': 'face_is_planar'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.face_is_planar'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.face_is_planar'>>]}, 'ref': 'kittycad.models.modeling_cmd.face_is_planar:94192504692608', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_is_planar', 'schema': {'expected': ['face_is_planar'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'face_is_planar', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c85f80,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6896b52630,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "face_is_planar",                                             },                                             expected_py: None,                                             name: "literal['face_is_planar']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "face_is_planar",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="face_is_planar", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943fe2b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943fe170,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943f63d0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943f6400,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6896b52630,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "face_is_planar": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6896b52630,                                                 ),                                             ],                                         },                                         expected_repr: "'face_is_planar'",                                         name: "literal['face_is_planar']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['face_is_planar']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "face_is_planar",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c85f80,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "face_is_planar",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, object_id: str, type: Literal['face_is_planar'] = 'face_is_planar') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['face_is_planar'], required=False, default='face_is_planar')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['face_is_planar'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.get_entity_type(**data)[source][source]

What type of entity is this?

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['get_entity_type']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.get_entity_type'>, 'config': {'title': 'get_entity_type'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.get_entity_type'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.get_entity_type'>>]}, 'ref': 'kittycad.models.modeling_cmd.get_entity_type:94192504580256', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'get_entity_type', 'schema': {'expected': ['get_entity_type'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'get_entity_type', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c6a8a0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6896b52970,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "get_entity_type",                                             },                                             expected_py: None,                                             name: "literal['get_entity_type']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "entity_id": SerField {                         key_py: Py(                             0x00007f68945303b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "get_entity_type",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="get_entity_type", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_id",                         lookup_key: Simple {                             key: "entity_id",                             py_key: Py(                                 0x00007f6894330430,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_id",                                         Py(                                             0x00007f68943c7f30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68945303b0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943dc0f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943dc120,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6896b52970,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "get_entity_type": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6896b52970,                                                 ),                                             ],                                         },                                         expected_repr: "'get_entity_type'",                                         name: "literal['get_entity_type']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['get_entity_type']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "get_entity_type",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c6a8a0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "get_entity_type",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_id: str, type: Literal['get_entity_type'] = 'get_entity_type') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['get_entity_type'], required=False, default='get_entity_type')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['get_entity_type'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.get_num_objects(**data)[source][source]

Get the number of objects in the scene

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['get_num_objects']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.get_num_objects'>, 'config': {'title': 'get_num_objects'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.get_num_objects'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.get_num_objects'>>]}, 'ref': 'kittycad.models.modeling_cmd.get_num_objects:94192505637600', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'get_num_objects', 'schema': {'expected': ['get_num_objects'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'get_num_objects', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_focus_on': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_orthographic': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_perspective': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_exit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_clear': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_get': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_filter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_extrusion_face_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'view_isometric': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>, 'zoom_to_fit': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d6cae0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6896b51e30,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "get_num_objects",                                             },                                             expected_py: None,                                             name: "literal['get_num_objects']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 1,             },         ),         has_extra: false,         root_model: false,         name: "get_num_objects",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="get_num_objects", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689413b180,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689413b1b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6896b51e30,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "get_num_objects": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6896b51e30,                                                 ),                                             ],                                         },                                         expected_repr: "'get_num_objects'",                                         name: "literal['get_num_objects']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['get_num_objects']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "get_num_objects",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d6cae0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "get_num_objects",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['get_num_objects'] = 'get_num_objects') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['get_num_objects'], required=False, default='get_num_objects')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['get_num_objects'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.get_sketch_mode_plane(**data)[source][source]

Get the plane for sketch mode.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['get_sketch_mode_plane']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.get_sketch_mode_plane'>, 'config': {'title': 'get_sketch_mode_plane'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.get_sketch_mode_plane'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.get_sketch_mode_plane'>>]}, 'ref': 'kittycad.models.modeling_cmd.get_sketch_mode_plane:94192504974880', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'get_sketch_mode_plane', 'schema': {'expected': ['get_sketch_mode_plane'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'get_sketch_mode_plane', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6ccae20,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6896b50770,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "get_sketch_mode_plane",                                             },                                             expected_py: None,                                             name: "literal['get_sketch_mode_plane']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 1,             },         ),         has_extra: false,         root_model: false,         name: "get_sketch_mode_plane",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="get_sketch_mode_plane", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894247f60,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894247f90,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6896b50770,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "get_sketch_mode_plane": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6896b50770,                                                 ),                                             ],                                         },                                         expected_repr: "'get_sketch_mode_plane'",                                         name: "literal['get_sketch_mode_plane']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['get_sketch_mode_plane']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "get_sketch_mode_plane",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6ccae20,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "get_sketch_mode_plane",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['get_sketch_mode_plane'] = 'get_sketch_mode_plane') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['get_sketch_mode_plane'], required=False, default='get_sketch_mode_plane')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['get_sketch_mode_plane'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.handle_mouse_drag_end(**data)[source][source]

Stop dragging the mouse.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['handle_mouse_drag_end'], 'window': <class 'kittycad.models.point2d.Point2d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.handle_mouse_drag_end'>, 'config': {'title': 'handle_mouse_drag_end'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.handle_mouse_drag_end'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.handle_mouse_drag_end'>>]}, 'ref': 'kittycad.models.modeling_cmd.handle_mouse_drag_end:94192505239984', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'handle_mouse_drag_end', 'schema': {'expected': ['handle_mouse_drag_end'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'handle_mouse_drag_end', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d0b9b0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "window": SerField {                         key_py: Py(                             0x00007f6898854900,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e6af0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "handle_mouse_drag_end",                                             },                                             expected_py: None,                                             name: "literal['handle_mouse_drag_end']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "handle_mouse_drag_end",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="handle_mouse_drag_end", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942bde30,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942bde00,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e6af0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "handle_mouse_drag_end": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e6af0,                                                 ),                                             ],                                         },                                         expected_repr: "'handle_mouse_drag_end'",                                         name: "literal['handle_mouse_drag_end']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['handle_mouse_drag_end']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "window",                         lookup_key: Simple {                             key: "window",                             py_key: Py(                                 0x00007f68942bde60,                             ),                             path: LookupPath(                                 [                                     S(                                         "window",                                         Py(                                             0x00007f68942bc570,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898854900,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f68942c0480,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f68942c0480,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "handle_mouse_drag_end",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d0b9b0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "handle_mouse_drag_end",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['handle_mouse_drag_end'] = 'handle_mouse_drag_end', window: kittycad.models.point2d.Point2d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['handle_mouse_drag_end'], required=False, default='handle_mouse_drag_end'), 'window': FieldInfo(annotation=Point2d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['handle_mouse_drag_end'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

window: Point2d[source]
class kittycad.models.modeling_cmd.handle_mouse_drag_move(**data)[source][source]

Continue dragging the mouse.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'sequence': typing.Optional[int], 'type': typing.Literal['handle_mouse_drag_move'], 'window': <class 'kittycad.models.point2d.Point2d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.handle_mouse_drag_move'>, 'config': {'title': 'handle_mouse_drag_move'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.handle_mouse_drag_move'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.handle_mouse_drag_move'>>]}, 'ref': 'kittycad.models.modeling_cmd.handle_mouse_drag_move:94192505222112', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'handle_mouse_drag_move', 'schema': {'expected': ['handle_mouse_drag_move'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'handle_mouse_drag_move', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d073e0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e6930,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "handle_mouse_drag_move",                                             },                                             expected_py: None,                                             name: "literal['handle_mouse_drag_move']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "sequence": SerField {                         key_py: Py(                             0x00007f68a783cc48,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Int(                                                 IntSerializer,                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "window": SerField {                         key_py: Py(                             0x00007f6898854900,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "handle_mouse_drag_move",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="handle_mouse_drag_move", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "sequence",                         lookup_key: Simple {                             key: "sequence",                             py_key: Py(                                 0x00007f68942c0ef0,                             ),                             path: LookupPath(                                 [                                     S(                                         "sequence",                                         Py(                                             0x00007f68942c0eb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783cc48,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Int(                                             IntValidator {                                                 strict: false,                                             },                                         ),                                         name: "nullable[int]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[int]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942bc690,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942bc6f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e6930,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "handle_mouse_drag_move": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e6930,                                                 ),                                             ],                                         },                                         expected_repr: "'handle_mouse_drag_move'",                                         name: "literal['handle_mouse_drag_move']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['handle_mouse_drag_move']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "window",                         lookup_key: Simple {                             key: "window",                             py_key: Py(                                 0x00007f68942bc750,                             ),                             path: LookupPath(                                 [                                     S(                                         "window",                                         Py(                                             0x00007f68942bc780,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898854900,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f68942c0e40,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f68942c0e40,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "handle_mouse_drag_move",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d073e0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "handle_mouse_drag_move",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, sequence: Optional[int] = None, type: Literal['handle_mouse_drag_move'] = 'handle_mouse_drag_move', window: kittycad.models.point2d.Point2d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'sequence': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=Literal['handle_mouse_drag_move'], required=False, default='handle_mouse_drag_move'), 'window': FieldInfo(annotation=Point2d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

sequence: Optional[int][source]
type: Literal['handle_mouse_drag_move'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

window: Point2d[source]
class kittycad.models.modeling_cmd.handle_mouse_drag_start(**data)[source][source]

Start dragging the mouse.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['handle_mouse_drag_start'], 'window': <class 'kittycad.models.point2d.Point2d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.handle_mouse_drag_start'>, 'config': {'title': 'handle_mouse_drag_start'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.handle_mouse_drag_start'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.handle_mouse_drag_start'>>]}, 'ref': 'kittycad.models.modeling_cmd.handle_mouse_drag_start:94192505210832', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'handle_mouse_drag_start', 'schema': {'expected': ['handle_mouse_drag_start'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'handle_mouse_drag_start', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d047d0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "window": SerField {                         key_py: Py(                             0x00007f6898854900,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e6730,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "handle_mouse_drag_start",                                             },                                             expected_py: None,                                             name: "literal['handle_mouse_drag_start']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "handle_mouse_drag_start",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="handle_mouse_drag_start", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942b29d0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942b2a30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e6730,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "handle_mouse_drag_start": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e6730,                                                 ),                                             ],                                         },                                         expected_repr: "'handle_mouse_drag_start'",                                         name: "literal['handle_mouse_drag_start']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['handle_mouse_drag_start']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "window",                         lookup_key: Simple {                             key: "window",                             py_key: Py(                                 0x00007f68942b2a90,                             ),                             path: LookupPath(                                 [                                     S(                                         "window",                                         Py(                                             0x00007f68942b2ac0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898854900,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f68942ab440,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f68942ab440,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "handle_mouse_drag_start",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d047d0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "handle_mouse_drag_start",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['handle_mouse_drag_start'] = 'handle_mouse_drag_start', window: kittycad.models.point2d.Point2d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['handle_mouse_drag_start'], required=False, default='handle_mouse_drag_start'), 'window': FieldInfo(annotation=Point2d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['handle_mouse_drag_start'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

window: Point2d[source]
class kittycad.models.modeling_cmd.highlight_set_entities(**data)[source][source]

Changes the current highlighted entity to these entities.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entities': typing.List[str], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['highlight_set_entities']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.highlight_set_entities'>, 'config': {'title': 'highlight_set_entities'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.highlight_set_entities'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.highlight_set_entities'>>]}, 'ref': 'kittycad.models.modeling_cmd.highlight_set_entities:94192504408304', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'highlight_set_entities', 'schema': {'expected': ['highlight_set_entities'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'highlight_set_entities', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c408f0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944ba630,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "highlight_set_entities",                                             },                                             expected_py: None,                                             name: "literal['highlight_set_entities']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "entities": SerField {                         key_py: Py(                             0x00007f689893e9b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "highlight_set_entities",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="highlight_set_entities", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entities",                         lookup_key: Simple {                             key: "entities",                             py_key: Py(                                 0x00007f68945e8230,                             ),                             path: LookupPath(                                 [                                     S(                                         "entities",                                         Py(                                             0x00007f6894399c30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689893e9b0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894397d50,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894397cc0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944ba630,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "highlight_set_entities": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944ba630,                                                 ),                                             ],                                         },                                         expected_repr: "'highlight_set_entities'",                                         name: "literal['highlight_set_entities']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['highlight_set_entities']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "highlight_set_entities",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c408f0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "highlight_set_entities",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entities: List[str], type: Literal['highlight_set_entities'] = 'highlight_set_entities') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entities: List[str][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entities': FieldInfo(annotation=List[str], required=True), 'type': FieldInfo(annotation=Literal['highlight_set_entities'], required=False, default='highlight_set_entities')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['highlight_set_entities'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.highlight_set_entity(**data)[source][source]

Changes the current highlighted entity to whichever one is at the given window coordinate. If there’s no entity at this location, clears the highlight.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'selected_at_window': <class 'kittycad.models.point2d.Point2d'>, 'sequence': typing.Optional[int], 'type': typing.Literal['highlight_set_entity']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.highlight_set_entity'>, 'config': {'title': 'highlight_set_entity'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.highlight_set_entity'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.highlight_set_entity'>>]}, 'ref': 'kittycad.models.modeling_cmd.highlight_set_entity:94192504397472', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'selected_at_window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'highlight_set_entity', 'schema': {'expected': ['highlight_set_entity'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'highlight_set_entity', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c3dea0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "sequence": SerField {                         key_py: Py(                             0x00007f68a783cc48,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Int(                                                 IntSerializer,                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6896b535f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "highlight_set_entity",                                             },                                             expected_py: None,                                             name: "literal['highlight_set_entity']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "selected_at_window": SerField {                         key_py: Py(                             0x00007f68944b9d30,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "highlight_set_entity",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="highlight_set_entity", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "selected_at_window",                         lookup_key: Simple {                             key: "selected_at_window",                             py_key: Py(                                 0x00007f6894398f30,                             ),                             path: LookupPath(                                 [                                     S(                                         "selected_at_window",                                         Py(                                             0x00007f6894398ef0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b9d30,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894398bc0,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894398bc0,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                     Field {                         name: "sequence",                         lookup_key: Simple {                             key: "sequence",                             py_key: Py(                                 0x00007f6894398fb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "sequence",                                         Py(                                             0x00007f6894398f70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783cc48,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Int(                                             IntValidator {                                                 strict: false,                                             },                                         ),                                         name: "nullable[int]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[int]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894396a00,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894396a30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6896b535f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "highlight_set_entity": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6896b535f0,                                                 ),                                             ],                                         },                                         expected_repr: "'highlight_set_entity'",                                         name: "literal['highlight_set_entity']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['highlight_set_entity']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "highlight_set_entity",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c3dea0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "highlight_set_entity",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, selected_at_window: kittycad.models.point2d.Point2d, sequence: Optional[int] = None, type: Literal['highlight_set_entity'] = 'highlight_set_entity') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'selected_at_window': FieldInfo(annotation=Point2d, required=True), 'sequence': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=Literal['highlight_set_entity'], required=False, default='highlight_set_entity')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

selected_at_window: Point2d[source]
sequence: Optional[int][source]
type: Literal['highlight_set_entity'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.import_files(**data)[source][source]

Import files to the current model.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'files': typing.List[kittycad.models.import_file.ImportFile], 'format': <class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['import_files']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.axis_direction_pair.AxisDirectionPair'>, 'config': {'title': 'AxisDirectionPair'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.axis_direction_pair.AxisDirectionPair'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.axis_direction_pair.AxisDirectionPair'>>]}, 'ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:94192496423760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.axis.Axis:94192496419776', 'type': 'definition-ref'}, 'type': 'model-field'}, 'direction': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.direction.Direction:94192491774336', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'AxisDirectionPair', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'Axis'>, 'members': [Axis.Y, Axis.Z], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.axis.Axis:94192496419776', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'Direction'>, 'members': [Direction.POSITIVE, Direction.NEGATIVE], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.direction.Direction:94192491774336', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.system.System'>, 'config': {'title': 'System'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.system.System'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.system.System'>>]}, 'ref': 'kittycad.models.system.System:94192496414080', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'forward': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:94192496423760', 'type': 'definition-ref'}, 'type': 'model-field'}, 'up': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:94192496423760', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'System', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'UnitLength'>, 'members': [UnitLength.CM, UnitLength.FT, UnitLength.IN, UnitLength.M, UnitLength.MM, UnitLength.YD], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_length.UnitLength:94192499221680', 'sub_type': 'str', 'type': 'enum'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.import_files'>, 'config': {'title': 'import_files'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.import_files'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.import_files'>>]}, 'ref': 'kittycad.models.modeling_cmd.import_files:94192505320048', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'files': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'cls': <class 'kittycad.models.import_file.ImportFile'>, 'config': {'title': 'ImportFile'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.import_file.ImportFile'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.import_file.ImportFile'>>]}, 'ref': 'kittycad.models.import_file.ImportFile:94192502789280', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bytes'}, 'type': 'model-field'}, 'path': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'ImportFile', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'model-field'}, 'format': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94192496630560[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:140087154828128]", 'root_model': True, 'schema': {'choices': {'fbx': {'cls': <class 'kittycad.models.input_format.fbx'>, 'config': {'title': 'fbx'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.fbx'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.fbx'>>]}, 'ref': 'kittycad.models.input_format.fbx:94192496468336', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'fbx', 'schema': {'expected': ['fbx'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'fbx', 'type': 'model-fields'}, 'type': 'model'}, 'gltf': {'cls': <class 'kittycad.models.input_format.gltf'>, 'config': {'title': 'gltf'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.gltf'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.gltf'>>]}, 'ref': 'kittycad.models.input_format.gltf:94192496473216', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'gltf', 'schema': {'expected': ['gltf'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'gltf', 'type': 'model-fields'}, 'type': 'model'}, 'obj': {'cls': <class 'kittycad.models.input_format.obj'>, 'config': {'title': 'obj'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.obj'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.obj'>>]}, 'ref': 'kittycad.models.input_format.obj:94192496478880', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:94192496414080', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'obj', 'schema': {'expected': ['obj'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94192499221680', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'obj', 'type': 'model-fields'}, 'type': 'model'}, 'ply': {'cls': <class 'kittycad.models.input_format.ply'>, 'config': {'title': 'ply'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.ply'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.ply'>>]}, 'ref': 'kittycad.models.input_format.ply:94192496446960', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:94192496414080', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'ply', 'schema': {'expected': ['ply'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94192499221680', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'ply', 'type': 'model-fields'}, 'type': 'model'}, 'sldprt': {'cls': <class 'kittycad.models.input_format.sldprt'>, 'config': {'title': 'sldprt'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.sldprt'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.sldprt'>>]}, 'ref': 'kittycad.models.input_format.sldprt:94192496464512', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'split_closed_faces': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'sldprt', 'schema': {'expected': ['sldprt'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'sldprt', 'type': 'model-fields'}, 'type': 'model'}, 'step': {'cls': <class 'kittycad.models.input_format.step'>, 'config': {'title': 'step'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.step'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.step'>>]}, 'ref': 'kittycad.models.input_format.step:94192497769616', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'split_closed_faces': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'step', 'schema': {'expected': ['step'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'step', 'type': 'model-fields'}, 'type': 'model'}, 'stl': {'cls': <class 'kittycad.models.input_format.stl'>, 'config': {'title': 'stl'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.stl'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.stl'>>]}, 'ref': 'kittycad.models.input_format.stl:94192497778880', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:94192496414080', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'stl', 'schema': {'expected': ['stl'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94192499221680', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'stl', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'import_files', 'schema': {'expected': ['import_files'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'import_files', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d1f270,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "format": SerField {                         key_py: Py(                             0x00007f68a7839f48,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae65f2ba0,                                     ),                                     serializer: Union(                                         UnionSerializer {                                             choices: [                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae64ae170,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f689519a6d0,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "fbx",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['fbx']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 1,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "fbx",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae64af480,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f689519a940,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "gltf",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['gltf']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 1,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "gltf",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae64b0aa0,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "units": SerField {                                                                         key_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: false,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "coords": SerField {                                                                         key_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68a783bb88,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "obj",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['obj']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 3,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "obj",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae64a8df0,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "coords": SerField {                                                                         key_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "units": SerField {                                                                         key_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: false,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f689519aee0,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "ply",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['ply']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 3,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "ply",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae64ad280,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f689519b450,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "sldprt",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['sldprt']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "split_closed_faces": SerField {                                                                         key_py: Py(                                                                             0x00007f6894e6e9b0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68a7731d20,                                                                                         ),                                                                                     ),                                                                                     serializer: Bool(                                                                                         BoolSerializer,                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 2,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "sldprt",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae65ebc90,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "split_closed_faces": SerField {                                                                         key_py: Py(                                                                             0x00007f6894e6e9b0,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68a7731d20,                                                                                         ),                                                                                     ),                                                                                     serializer: Bool(                                                                                         BoolSerializer,                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f68a783d2c8,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "step",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['step']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 2,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "step",                                                     },                                                 ),                                                 Model(                                                     ModelSerializer {                                                         class: Py(                                                             0x000055aae65ee0c0,                                                         ),                                                         serializer: Fields(                                                             GeneralFieldsSerializer {                                                                 fields: {                                                                     "units": SerField {                                                                         key_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: false,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "coords": SerField {                                                                         key_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             Recursive(                                                                                 DefinitionRefSerializer {                                                                                     definition: "...",                                                                                     retry_with_lax_check: true,                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                     "type": SerField {                                                                         key_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         alias: None,                                                                         alias_py: None,                                                                         serializer: Some(                                                                             WithDefault(                                                                                 WithDefaultSerializer {                                                                                     default: Default(                                                                                         Py(                                                                                             0x00007f689519b3c0,                                                                                         ),                                                                                     ),                                                                                     serializer: Literal(                                                                                         LiteralSerializer {                                                                                             expected_int: {},                                                                                             expected_str: {                                                                                                 "stl",                                                                                             },                                                                                             expected_py: None,                                                                                             name: "literal['stl']",                                                                                         },                                                                                     ),                                                                                 },                                                                             ),                                                                         ),                                                                         required: true,                                                                     },                                                                 },                                                                 computed_fields: Some(                                                                     ComputedFields(                                                                         [],                                                                     ),                                                                 ),                                                                 mode: SimpleDict,                                                                 extra_serializer: None,                                                                 filter: SchemaFilter {                                                                     include: None,                                                                     exclude: None,                                                                 },                                                                 required_fields: 3,                                                             },                                                         ),                                                         has_extra: false,                                                         root_model: false,                                                         name: "stl",                                                     },                                                 ),                                             ],                                             name: "Union[fbx, gltf, obj, ply, sldprt, step, stl]",                                         },                                     ),                                     has_extra: false,                                     root_model: true,                                     name: "RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6896b50b70,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "import_files",                                             },                                             expected_py: None,                                             name: "literal['import_files']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "files": SerField {                         key_py: Py(                             0x00007f68a77f1b60,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Model(                                         ModelSerializer {                                             class: Py(                                                 0x000055aae6ab54a0,                                             ),                                             serializer: Fields(                                                 GeneralFieldsSerializer {                                                     fields: {                                                         "path": SerField {                                                             key_py: Py(                                                                 0x00007f68a783c088,                                                             ),                                                             alias: None,                                                             alias_py: None,                                                             serializer: Some(                                                                 Str(                                                                     StrSerializer,                                                                 ),                                                             ),                                                             required: true,                                                         },                                                         "data": SerField {                                                             key_py: Py(                                                                 0x00007f68a78390a0,                                                             ),                                                             alias: None,                                                             alias_py: None,                                                             serializer: Some(                                                                 Bytes(                                                                     BytesSerializer {                                                                         bytes_mode: Utf8,                                                                     },                                                                 ),                                                             ),                                                             required: true,                                                         },                                                     },                                                     computed_fields: Some(                                                         ComputedFields(                                                             [],                                                         ),                                                     ),                                                     mode: SimpleDict,                                                     extra_serializer: None,                                                     filter: SchemaFilter {                                                         include: None,                                                         exclude: None,                                                     },                                                     required_fields: 2,                                                 },                                             ),                                             has_extra: false,                                             root_model: false,                                             name: "ImportFile",                                         },                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[ImportFile]",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "import_files",     }, ), definitions=[Enum(EnumSerializer { class: Py(0x55aae674e4b0), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55aae64a0d80), serializer: Fields(GeneralFieldsSerializer { fields: {"forward": SerField { key_py: Py(0x7f68975ef390), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "up": SerField { key_py: Py(0x7f68a65f7900), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "System" }), Enum(EnumSerializer { class: Py(0x55aae64a23c0), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55aae64a3350), serializer: Fields(GeneralFieldsSerializer { fields: {"direction": SerField { key_py: Py(0x7f68a6645570), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "axis": SerField { key_py: Py(0x7f68a6005320), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "AxisDirectionPair" }), Enum(EnumSerializer { class: Py(0x55aae6034180), serializer: Some(Str(StrSerializer)) })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="import_files", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "files",                         lookup_key: Simple {                             key: "files",                             py_key: Py(                                 0x00007f68942de2e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "files",                                         Py(                                             0x00007f68942de490,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a77f1b60,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Model(                                         ModelValidator {                                             revalidate: Never,                                             validator: ModelFields(                                                 ModelFieldsValidator {                                                     fields: [                                                         Field {                                                             name: "data",                                                             lookup_key: Simple {                                                                 key: "data",                                                                 py_key: Py(                                                                     0x00007f68942b27c0,                                                                 ),                                                                 path: LookupPath(                                                                     [                                                                         S(                                                                             "data",                                                                             Py(                                                                                 0x00007f68942de640,                                                                             ),                                                                         ),                                                                     ],                                                                 ),                                                             },                                                             name_py: Py(                                                                 0x00007f68a78390a0,                                                             ),                                                             validator: Bytes(                                                                 BytesValidator {                                                                     strict: false,                                                                 },                                                             ),                                                             frozen: false,                                                         },                                                         Field {                                                             name: "path",                                                             lookup_key: Simple {                                                                 key: "path",                                                                 py_key: Py(                                                                     0x00007f68942de310,                                                                 ),                                                                 path: LookupPath(                                                                     [                                                                         S(                                                                             "path",                                                                             Py(                                                                                 0x00007f68942de2b0,                                                                             ),                                                                         ),                                                                     ],                                                                 ),                                                             },                                                             name_py: Py(                                                                 0x00007f68a783c088,                                                             ),                                                             validator: Str(                                                                 StrValidator {                                                                     strict: false,                                                                     coerce_numbers_to_str: false,                                                                 },                                                             ),                                                             frozen: false,                                                         },                                                     ],                                                     model_name: "ImportFile",                                                     extra_behavior: Ignore,                                                     extras_validator: None,                                                     strict: false,                                                     from_attributes: false,                                                     loc_by_alias: true,                                                 },                                             ),                                             class: Py(                                                 0x000055aae6ab54a0,                                             ),                                             post_init: None,                                             frozen: false,                                             custom_init: false,                                             root_model: false,                                             undefined: Py(                                                 0x00007f6896b91e70,                                             ),                                             name: "ImportFile",                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "format",                         lookup_key: Simple {                             key: "format",                             py_key: Py(                                 0x00007f68942de790,                             ),                             path: LookupPath(                                 [                                     S(                                         "format",                                         Py(                                             0x00007f68942de5e0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a7839f48,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: TaggedUnion(                                     TaggedUnionValidator {                                         discriminator: LookupKey(                                             Simple {                                                 key: "type",                                                 py_key: Py(                                                     0x00007f68a783da58,                                                 ),                                                 path: LookupPath(                                                     [                                                         S(                                                             "type",                                                             Py(                                                                 0x00007f68a783da58,                                                             ),                                                         ),                                                     ],                                                 ),                                             },                                         ),                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "fbx": 0,                                                     "gltf": 1,                                                     "ply": 3,                                                     "step": 5,                                                     "obj": 2,                                                     "sldprt": 4,                                                     "stl": 6,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68942de430,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68942de3d0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f689519a6d0,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "fbx": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f689519a6d0,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'fbx'",                                                                                         name: "literal['fbx']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['fbx']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "fbx",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae64ae170,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "fbx",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68942de3a0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68942de400,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f689519a940,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "gltf": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f689519a940,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'gltf'",                                                                                         name: "literal['gltf']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['gltf']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "gltf",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae64af480,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "gltf",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "coords",                                                                         lookup_key: Simple {                                                                             key: "coords",                                                                             py_key: Py(                                                                                 0x00007f68942dc660,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "coords",                                                                                         Py(                                                                                             0x00007f68942dc780,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68942dc540,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68942dc570,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68a783bb88,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "obj": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f68a783bb88,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'obj'",                                                                                         name: "literal['obj']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['obj']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "units",                                                                         lookup_key: Simple {                                                                             key: "units",                                                                             py_key: Py(                                                                                 0x00007f68942dc4e0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "units",                                                                                         Py(                                                                                             0x00007f68942dc6c0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "obj",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae64b0aa0,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "obj",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "coords",                                                                         lookup_key: Simple {                                                                             key: "coords",                                                                             py_key: Py(                                                                                 0x00007f68942dc330,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "coords",                                                                                         Py(                                                                                             0x00007f68942dc390,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68942dc360,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68942dc4b0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f689519aee0,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "ply": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f689519aee0,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'ply'",                                                                                         name: "literal['ply']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['ply']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "units",                                                                         lookup_key: Simple {                                                                             key: "units",                                                                             py_key: Py(                                                                                 0x00007f68942dc480,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "units",                                                                                         Py(                                                                                             0x00007f68942dc420,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "ply",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae64a8df0,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "ply",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "split_closed_faces",                                                                         lookup_key: Simple {                                                                             key: "split_closed_faces",                                                                             py_key: Py(                                                                                 0x00007f68947c2cb0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "split_closed_faces",                                                                                         Py(                                                                                             0x00007f6894695370,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f6894e6e9b0,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68a7731d20,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Bool(                                                                                     BoolValidator {                                                                                         strict: false,                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[bool]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68942dc3f0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68942dc450,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f689519b450,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "sldprt": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f689519b450,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'sldprt'",                                                                                         name: "literal['sldprt']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['sldprt']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "sldprt",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae64ad280,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "sldprt",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "split_closed_faces",                                                                         lookup_key: Simple {                                                                             key: "split_closed_faces",                                                                             py_key: Py(                                                                                 0x00007f6894262a70,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "split_closed_faces",                                                                                         Py(                                                                                             0x00007f68942ab570,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f6894e6e9b0,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68a7731d20,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Bool(                                                                                     BoolValidator {                                                                                         strict: false,                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[bool]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68942de670,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68942de4f0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f68a783d2c8,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "step": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f68a783d2c8,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'step'",                                                                                         name: "literal['step']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['step']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "step",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae65ebc90,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "step",                                                     },                                                 ),                                                 Model(                                                     ModelValidator {                                                         revalidate: Never,                                                         validator: ModelFields(                                                             ModelFieldsValidator {                                                                 fields: [                                                                     Field {                                                                         name: "coords",                                                                         lookup_key: Simple {                                                                             key: "coords",                                                                             py_key: Py(                                                                                 0x00007f68942de520,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "coords",                                                                                         Py(                                                                                             0x00007f68942de550,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a6001d10,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "type",                                                                         lookup_key: Simple {                                                                             key: "type",                                                                             py_key: Py(                                                                                 0x00007f68942de7c0,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "type",                                                                                         Py(                                                                                             0x00007f68942de760,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a783da58,                                                                         ),                                                                         validator: WithDefault(                                                                             WithDefaultValidator {                                                                                 default: Default(                                                                                     Py(                                                                                         0x00007f689519b3c0,                                                                                     ),                                                                                 ),                                                                                 on_error: Raise,                                                                                 validator: Literal(                                                                                     LiteralValidator {                                                                                         lookup: LiteralLookup {                                                                                             expected_bool: None,                                                                                             expected_int: None,                                                                                             expected_str: Some(                                                                                                 {                                                                                                     "stl": 0,                                                                                                 },                                                                                             ),                                                                                             expected_py_dict: None,                                                                                             expected_py_values: None,                                                                                             values: [                                                                                                 Py(                                                                                                     0x00007f689519b3c0,                                                                                                 ),                                                                                             ],                                                                                         },                                                                                         expected_repr: "'stl'",                                                                                         name: "literal['stl']",                                                                                     },                                                                                 ),                                                                                 validate_default: false,                                                                                 copy_default: false,                                                                                 name: "default[literal['stl']]",                                                                                 undefined: Py(                                                                                     0x00007f6896b91e70,                                                                                 ),                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                     Field {                                                                         name: "units",                                                                         lookup_key: Simple {                                                                             key: "units",                                                                             py_key: Py(                                                                                 0x00007f68942de610,                                                                             ),                                                                             path: LookupPath(                                                                                 [                                                                                     S(                                                                                         "units",                                                                                         Py(                                                                                             0x00007f68942de6a0,                                                                                         ),                                                                                     ),                                                                                 ],                                                                             ),                                                                         },                                                                         name_py: Py(                                                                             0x00007f68a678da40,                                                                         ),                                                                         validator: DefinitionRef(                                                                             DefinitionRefValidator {                                                                                 definition: "...",                                                                             },                                                                         ),                                                                         frozen: false,                                                                     },                                                                 ],                                                                 model_name: "stl",                                                                 extra_behavior: Ignore,                                                                 extras_validator: None,                                                                 strict: false,                                                                 from_attributes: false,                                                                 loc_by_alias: true,                                                             },                                                         ),                                                         class: Py(                                                             0x000055aae65ee0c0,                                                         ),                                                         post_init: None,                                                         frozen: false,                                                         custom_init: false,                                                         root_model: false,                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                         name: "stl",                                                     },                                                 ),                                             ],                                         },                                         from_attributes: true,                                         strict: false,                                         custom_error: None,                                         tags_repr: "'fbx', 'gltf', 'obj', 'ply', 'sldprt', 'step', 'stl'",                                         discriminator_repr: "'type'",                                         name: "tagged-union[fbx,gltf,obj,ply,sldprt,step,stl]",                                     },                                 ),                                 class: Py(                                     0x000055aae65f2ba0,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: true,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942de820,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942de7f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6896b50b70,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "import_files": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6896b50b70,                                                 ),                                             ],                                         },                                         expected_repr: "'import_files'",                                         name: "literal['import_files']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['import_files']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "import_files",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d1f270,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "import_files",     }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py(0x7f68942cd2c0), path: LookupPath([S("axis", Py(0x7f68942cd530))]) }, name_py: Py(0x7f68a6005320), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "direction", lookup_key: Simple { key: "direction", py_key: Py(0x7f6894331170), path: LookupPath([S("direction", Py(0x7f6894223c30))]) }, name_py: Py(0x7f68a6645570), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "AxisDirectionPair", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae64a3350), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "AxisDirectionPair" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55aae64a23c0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"y": 0, "z": 1}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f6894dbdd30), Py(0x7f6894dbdd90)] }, missing: None, expected_repr: "'y' or 'z'", strict: false, class_repr: "Axis", name: "str-enum[Axis]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55aae6034180), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"negative": 1, "positive": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f6894dbdeb0), Py(0x7f6894dbdf10)] }, missing: None, expected_repr: "'positive' or 'negative'", strict: false, class_repr: "Direction", name: "str-enum[Direction]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55aae674e4b0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"cm": 0, "m": 3, "mm": 4, "in": 2, "ft": 1, "yd": 5}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f6894dbdaf0), Py(0x7f6894dbdfd0), Py(0x7f6894dbe150), Py(0x7f6894dbe1b0), Py(0x7f6894dbe210), Py(0x7f6894dbe270)] }, missing: None, expected_repr: "'cm', 'ft', 'in', 'm', 'mm' or 'yd'", strict: false, class_repr: "UnitLength", name: "str-enum[UnitLength]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "forward", lookup_key: Simple { key: "forward", py_key: Py(0x7f68942b2730), path: LookupPath([S("forward", Py(0x7f68942b2790))]) }, name_py: Py(0x7f68975ef390), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "up", lookup_key: Simple { key: "up", py_key: Py(0x7f68942b2700), path: LookupPath([S("up", Py(0x7f68942b2910))]) }, name_py: Py(0x7f68a65f7900), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "System", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae64a0d80), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "System" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, files: List[kittycad.models.import_file.ImportFile], format: pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], type: Literal['import_files'] = 'import_files') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

files: List[ImportFile][source]
format: RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'files': FieldInfo(annotation=List[ImportFile], required=True), 'format': FieldInfo(annotation=RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], required=True), 'type': FieldInfo(annotation=Literal['import_files'], required=False, default='import_files')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['import_files'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.loft(**data)[source][source]

Command for lofting sections to create a solid

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'base_curve_index': typing.Optional[int], 'bez_approximate_rational': <class 'bool'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'section_ids': typing.List[str], 'tolerance': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': typing.Literal['loft'], 'v_degree': <class 'int'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.loft'>, 'config': {'title': 'loft'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.loft'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.loft'>>]}, 'ref': 'kittycad.models.modeling_cmd.loft:94192504180368', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'base_curve_index': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'bez_approximate_rational': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'section_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'tolerance': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'loft', 'schema': {'expected': ['loft'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'v_degree': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}}, 'model_name': 'loft', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c08e90,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "v_degree": SerField {                         key_py: Py(                             0x00007f68944a7a70,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Int(                                 IntSerializer,                             ),                         ),                         required: true,                     },                     "bez_approximate_rational": SerField {                         key_py: Py(                             0x00007f689448abf0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "base_curve_index": SerField {                         key_py: Py(                             0x00007f68944a79b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Int(                                                 IntSerializer,                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "section_ids": SerField {                         key_py: Py(                             0x00007f68986bb0f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956efcc0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "loft",                                             },                                             expected_py: None,                                             name: "literal['loft']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "tolerance": SerField {                         key_py: Py(                             0x00007f68972c4b30,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 6,             },         ),         has_extra: false,         root_model: false,         name: "loft",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="loft", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "base_curve_index",                         lookup_key: Simple {                             key: "base_curve_index",                             py_key: Py(                                 0x00007f6894459630,                             ),                             path: LookupPath(                                 [                                     S(                                         "base_curve_index",                                         Py(                                             0x00007f6894459730,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944a79b0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Int(                                             IntValidator {                                                 strict: false,                                             },                                         ),                                         name: "nullable[int]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[int]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "bez_approximate_rational",                         lookup_key: Simple {                             key: "bez_approximate_rational",                             py_key: Py(                                 0x00007f68944eba00,                             ),                             path: LookupPath(                                 [                                     S(                                         "bez_approximate_rational",                                         Py(                                             0x00007f68944eba50,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689448abf0,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "section_ids",                         lookup_key: Simple {                             key: "section_ids",                             py_key: Py(                                 0x00007f689445a7f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "section_ids",                                         Py(                                             0x00007f6894459530,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68986bb0f0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "tolerance",                         lookup_key: Simple {                             key: "tolerance",                             py_key: Py(                                 0x00007f689445b4f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "tolerance",                                         Py(                                             0x00007f689445aa70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68972c4b30,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 func: Py(                                     0x000055aae636ccf0,                                 ),                                 config: Py(                                     0x00007f689445a9c0,                                 ),                                 name: "function-after[LengthUnit(), float]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944e1920,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944e17a0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956efcc0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "loft": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956efcc0,                                                 ),                                             ],                                         },                                         expected_repr: "'loft'",                                         name: "literal['loft']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['loft']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "v_degree",                         lookup_key: Simple {                             key: "v_degree",                             py_key: Py(                                 0x00007f689445b0f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "v_degree",                                         Py(                                             0x00007f689445b7b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944a7a70,                         ),                         validator: Int(                             IntValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                 ],                 model_name: "loft",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c08e90,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "loft",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, base_curve_index: Optional[int] = None, bez_approximate_rational: bool, section_ids: List[str], tolerance: kittycad.models.length_unit.LengthUnit, type: Literal['loft'] = 'loft', v_degree: int) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

base_curve_index: Optional[int][source]
bez_approximate_rational: bool[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'base_curve_index': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'bez_approximate_rational': FieldInfo(annotation=bool, required=True), 'section_ids': FieldInfo(annotation=List[str], required=True), 'tolerance': FieldInfo(annotation=LengthUnit, required=True), 'type': FieldInfo(annotation=Literal['loft'], required=False, default='loft'), 'v_degree': FieldInfo(annotation=int, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

section_ids: List[str][source]
tolerance: LengthUnit[source]
type: Literal['loft'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

v_degree: int[source]
classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.make_axes_gizmo(**data)[source][source]

Add a gizmo showing the axes.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'clobber': <class 'bool'>, 'gizmo_mode': <class 'bool'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['make_axes_gizmo']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.make_axes_gizmo'>, 'config': {'title': 'make_axes_gizmo'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.make_axes_gizmo'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.make_axes_gizmo'>>]}, 'ref': 'kittycad.models.modeling_cmd.make_axes_gizmo:94192505139056', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'clobber': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'gizmo_mode': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'make_axes_gizmo', 'schema': {'expected': ['make_axes_gizmo'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'make_axes_gizmo', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cf2f70,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e5f30,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "make_axes_gizmo",                                             },                                             expected_py: None,                                             name: "literal['make_axes_gizmo']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "clobber": SerField {                         key_py: Py(                             0x00007f68944be190,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "gizmo_mode": SerField {                         key_py: Py(                             0x00007f68944e5f70,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "make_axes_gizmo",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="make_axes_gizmo", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "clobber",                         lookup_key: Simple {                             key: "clobber",                             py_key: Py(                                 0x00007f689429d3b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "clobber",                                         Py(                                             0x00007f689429d3e0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944be190,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "gizmo_mode",                         lookup_key: Simple {                             key: "gizmo_mode",                             py_key: Py(                                 0x00007f68942925f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "gizmo_mode",                                         Py(                                             0x00007f68942924b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e5f70,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689429d410,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689429d440,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e5f30,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "make_axes_gizmo": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e5f30,                                                 ),                                             ],                                         },                                         expected_repr: "'make_axes_gizmo'",                                         name: "literal['make_axes_gizmo']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['make_axes_gizmo']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "make_axes_gizmo",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cf2f70,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "make_axes_gizmo",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, clobber: bool, gizmo_mode: bool, type: Literal['make_axes_gizmo'] = 'make_axes_gizmo') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

clobber: bool[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

gizmo_mode: bool[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'clobber': FieldInfo(annotation=bool, required=True), 'gizmo_mode': FieldInfo(annotation=bool, required=True), 'type': FieldInfo(annotation=Literal['make_axes_gizmo'], required=False, default='make_axes_gizmo')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['make_axes_gizmo'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.make_plane(**data)[source][source]

Make a new plane

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'clobber': <class 'bool'>, 'hide': typing.Optional[bool], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'origin': <class 'kittycad.models.point3d.Point3d'>, 'size': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': typing.Literal['make_plane'], 'x_axis': <class 'kittycad.models.point3d.Point3d'>, 'y_axis': <class 'kittycad.models.point3d.Point3d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.make_plane'>, 'config': {'title': 'make_plane'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.make_plane'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.make_plane'>>]}, 'ref': 'kittycad.models.modeling_cmd.make_plane:94192504866400', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'clobber': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'hide': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'origin': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'size': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'make_plane', 'schema': {'expected': ['make_plane'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'x_axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'y_axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'make_plane', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cb0660,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "y_axis": SerField {                         key_py: Py(                             0x00007f6894547090,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                     "size": SerField {                         key_py: Py(                             0x00007f68a783cef8,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e48b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "make_plane",                                             },                                             expected_py: None,                                             name: "literal['make_plane']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "hide": SerField {                         key_py: Py(                             0x00007f68a6187c30,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Bool(                                                 BoolSerializer,                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "origin": SerField {                         key_py: Py(                             0x00007f68a783bec0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                     "clobber": SerField {                         key_py: Py(                             0x00007f68944be190,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "x_axis": SerField {                         key_py: Py(                             0x00007f6894546fa0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 7,             },         ),         has_extra: false,         root_model: false,         name: "make_plane",     }, ), definitions=[Model(ModelSerializer { class: Py(0x55aae6232b70), serializer: Fields(GeneralFieldsSerializer { fields: {"y": SerField { key_py: Py(0x7f68a783f658), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "z": SerField { key_py: Py(0x7f68a783f688), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "x": SerField { key_py: Py(0x7f68a783df18), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Point3d" })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="make_plane", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "clobber",                         lookup_key: Simple {                             key: "clobber",                             py_key: Py(                                 0x00007f689421bc30,                             ),                             path: LookupPath(                                 [                                     S(                                         "clobber",                                         Py(                                             0x00007f689421bc60,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944be190,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "hide",                         lookup_key: Simple {                             key: "hide",                             py_key: Py(                                 0x00007f689421bc90,                             ),                             path: LookupPath(                                 [                                     S(                                         "hide",                                         Py(                                             0x00007f689421bcc0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a6187c30,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Bool(                                             BoolValidator {                                                 strict: false,                                             },                                         ),                                         name: "nullable[bool]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[bool]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "origin",                         lookup_key: Simple {                             key: "origin",                             py_key: Py(                                 0x00007f689421bcf0,                             ),                             path: LookupPath(                                 [                                     S(                                         "origin",                                         Py(                                             0x00007f689421bd20,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783bec0,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "size",                         lookup_key: Simple {                             key: "size",                             py_key: Py(                                 0x00007f689421bd50,                             ),                             path: LookupPath(                                 [                                     S(                                         "size",                                         Py(                                             0x00007f689421bd80,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783cef8,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 func: Py(                                     0x000055aae636ccf0,                                 ),                                 config: Py(                                     0x00007f6894222940,                                 ),                                 name: "function-after[LengthUnit(), float]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689421bdb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689421bde0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e48b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "make_plane": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e48b0,                                                 ),                                             ],                                         },                                         expected_repr: "'make_plane'",                                         name: "literal['make_plane']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['make_plane']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "x_axis",                         lookup_key: Simple {                             key: "x_axis",                             py_key: Py(                                 0x00007f689421be10,                             ),                             path: LookupPath(                                 [                                     S(                                         "x_axis",                                         Py(                                             0x00007f689421be40,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894546fa0,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "y_axis",                         lookup_key: Simple {                             key: "y_axis",                             py_key: Py(                                 0x00007f689421be70,                             ),                             path: LookupPath(                                 [                                     S(                                         "y_axis",                                         Py(                                             0x00007f689421bea0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894547090,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "make_plane",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cb0660,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "make_plane",     }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f68a783f628), path: LookupPath([S("x", Py(0x7f68a783f628))]) }, name_py: Py(0x7f68a783df18), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f68a783f658), path: LookupPath([S("y", Py(0x7f68a783f658))]) }, name_py: Py(0x7f68a783f658), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f68a783f688), path: LookupPath([S("z", Py(0x7f68a783f688))]) }, name_py: Py(0x7f68a783f688), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Point3d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6232b70), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "Point3d" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, clobber: bool, hide: Optional[bool] = None, origin: kittycad.models.point3d.Point3d, size: kittycad.models.length_unit.LengthUnit, type: Literal['make_plane'] = 'make_plane', x_axis: kittycad.models.point3d.Point3d, y_axis: kittycad.models.point3d.Point3d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

clobber: bool[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

hide: Optional[bool][source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'clobber': FieldInfo(annotation=bool, required=True), 'hide': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'origin': FieldInfo(annotation=Point3d, required=True), 'size': FieldInfo(annotation=LengthUnit, required=True), 'type': FieldInfo(annotation=Literal['make_plane'], required=False, default='make_plane'), 'x_axis': FieldInfo(annotation=Point3d, required=True), 'y_axis': FieldInfo(annotation=Point3d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

origin: Point3d[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

size: LengthUnit[source]
type: Literal['make_plane'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

x_axis: Point3d[source]
y_axis: Point3d[source]
class kittycad.models.modeling_cmd.mass(**data)[source][source]

Get the mass of entities in the scene or the default scene.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_ids': typing.List[str], 'material_density': <class 'float'>, 'material_density_unit': <enum 'UnitDensity'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'output_unit': <enum 'UnitMass'>, 'type': typing.Literal['mass']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.mass'>, 'config': {'title': 'mass'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.mass'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.mass'>>]}, 'ref': 'kittycad.models.modeling_cmd.mass:94192505346352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'material_density': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'material_density_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitDensity'>, 'members': [UnitDensity.LB_FT3, UnitDensity.KG_M3], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_density.UnitDensity:94192494758976', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitMass'>, 'members': [UnitMass.G, UnitMass.KG, UnitMass.LB], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_mass.UnitMass:94192494759968', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mass', 'schema': {'expected': ['mass'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'mass', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d25930,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "material_density": SerField {                         key_py: Py(                             0x00007f6894e9e3f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "output_unit": SerField {                         key_py: Py(                             0x00007f6894e9c630,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae630d020,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68956efde0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "mass",                                             },                                             expected_py: None,                                             name: "literal['mass']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "material_density_unit": SerField {                         key_py: Py(                             0x00007f6894e9dcb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae630cc40,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "entity_ids": SerField {                         key_py: Py(                             0x00007f689451a2b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 5,             },         ),         has_extra: false,         root_model: false,         name: "mass",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="mass", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_ids",                         lookup_key: Simple {                             key: "entity_ids",                             py_key: Py(                                 0x00007f68942eadb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_ids",                                         Py(                                             0x00007f68942ead70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689451a2b0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "material_density",                         lookup_key: Simple {                             key: "material_density",                             py_key: Py(                                 0x00007f68942eae30,                             ),                             path: LookupPath(                                 [                                     S(                                         "material_density",                                         Py(                                             0x00007f68942eadf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894e9e3f0,                         ),                         validator: Float(                             FloatValidator {                                 strict: false,                                 allow_inf_nan: true,                             },                         ),                         frozen: false,                     },                     Field {                         name: "material_density_unit",                         lookup_key: Simple {                             key: "material_density_unit",                             py_key: Py(                                 0x00007f68942eae70,                             ),                             path: LookupPath(                                 [                                     S(                                         "material_density_unit",                                         Py(                                             0x00007f68942eaeb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894e9dcb0,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae630cc40,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "kg:m3": 1,                                             "lb:ft3": 0,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f68947acd10,                                         ),                                         Py(                                             0x00007f68947acd70,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'lb:ft3' or 'kg:m3'",                                 strict: false,                                 class_repr: "UnitDensity",                                 name: "str-enum[UnitDensity]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "output_unit",                         lookup_key: Simple {                             key: "output_unit",                             py_key: Py(                                 0x00007f68942eaef0,                             ),                             path: LookupPath(                                 [                                     S(                                         "output_unit",                                         Py(                                             0x00007f68942eaf30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894e9c630,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae630d020,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "lb": 2,                                             "g": 0,                                             "kg": 1,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f68947ace30,                                         ),                                         Py(                                             0x00007f68947ace90,                                         ),                                         Py(                                             0x00007f68947acef0,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'g', 'kg' or 'lb'",                                 strict: false,                                 class_repr: "UnitMass",                                 name: "str-enum[UnitMass]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942e6550,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942e65b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68956efde0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "mass": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68956efde0,                                                 ),                                             ],                                         },                                         expected_repr: "'mass'",                                         name: "literal['mass']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['mass']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "mass",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d25930,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "mass",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_ids: List[str], material_density: float, material_density_unit: kittycad.models.unit_density.UnitDensity, output_unit: kittycad.models.unit_mass.UnitMass, type: Literal['mass'] = 'mass') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_ids: List[str][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

material_density: float[source]
material_density_unit: UnitDensity[source]
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_ids': FieldInfo(annotation=List[str], required=True), 'material_density': FieldInfo(annotation=float, required=True), 'material_density_unit': FieldInfo(annotation=UnitDensity, required=True), 'output_unit': FieldInfo(annotation=UnitMass, required=True), 'type': FieldInfo(annotation=Literal['mass'], required=False, default='mass')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

output_unit: UnitMass[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['mass'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.mouse_click(**data)[source][source]

Send a mouse click event Updates modified/selected entities.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['mouse_click'], 'window': <class 'kittycad.models.point2d.Point2d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.mouse_click'>, 'config': {'title': 'mouse_click'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.mouse_click'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.mouse_click'>>]}, 'ref': 'kittycad.models.modeling_cmd.mouse_click:94192504939024', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mouse_click', 'schema': {'expected': ['mouse_click'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'mouse_click', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cc2210,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "window": SerField {                         key_py: Py(                             0x00007f6898854900,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6895594930,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "mouse_click",                                             },                                             expected_py: None,                                             name: "literal['mouse_click']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "mouse_click",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="mouse_click", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894245620,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894245680,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6895594930,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "mouse_click": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6895594930,                                                 ),                                             ],                                         },                                         expected_repr: "'mouse_click'",                                         name: "literal['mouse_click']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['mouse_click']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "window",                         lookup_key: Simple {                             key: "window",                             py_key: Py(                                 0x00007f68942456e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "window",                                         Py(                                             0x00007f6894245710,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898854900,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894233f40,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894233f40,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "mouse_click",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cc2210,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "mouse_click",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['mouse_click'] = 'mouse_click', window: kittycad.models.point2d.Point2d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['mouse_click'], required=False, default='mouse_click'), 'window': FieldInfo(annotation=Point2d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['mouse_click'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

window: Point2d[source]
class kittycad.models.modeling_cmd.mouse_move(**data)[source][source]

Send a mouse move event

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'sequence': typing.Optional[int], 'type': typing.Literal['mouse_move'], 'window': <class 'kittycad.models.point2d.Point2d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.mouse_move'>, 'config': {'title': 'mouse_move'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.mouse_move'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.mouse_move'>>]}, 'ref': 'kittycad.models.modeling_cmd.mouse_move:94192504919920', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mouse_move', 'schema': {'expected': ['mouse_move'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'mouse_move', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cbd770,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689672e1b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "mouse_move",                                             },                                             expected_py: None,                                             name: "literal['mouse_move']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "sequence": SerField {                         key_py: Py(                             0x00007f68a783cc48,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Int(                                                 IntSerializer,                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "window": SerField {                         key_py: Py(                             0x00007f6898854900,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "mouse_move",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="mouse_move", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "sequence",                         lookup_key: Simple {                             key: "sequence",                             py_key: Py(                                 0x00007f6894fdb5f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "sequence",                                         Py(                                             0x00007f6894232c30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783cc48,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Int(                                             IntValidator {                                                 strict: false,                                             },                                         ),                                         name: "nullable[int]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[int]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689422fd80,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689422fd50,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689672e1b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "mouse_move": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689672e1b0,                                                 ),                                             ],                                         },                                         expected_repr: "'mouse_move'",                                         name: "literal['mouse_move']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['mouse_move']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "window",                         lookup_key: Simple {                             key: "window",                             py_key: Py(                                 0x00007f689422fdb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "window",                                         Py(                                             0x00007f689422fe10,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898854900,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894232bc0,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894232bc0,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "mouse_move",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cbd770,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "mouse_move",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, sequence: Optional[int] = None, type: Literal['mouse_move'] = 'mouse_move', window: kittycad.models.point2d.Point2d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'sequence': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=Literal['mouse_move'], required=False, default='mouse_move'), 'window': FieldInfo(annotation=Point2d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

sequence: Optional[int][source]
type: Literal['mouse_move'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

window: Point2d[source]
class kittycad.models.modeling_cmd.move_path_pen(**data)[source][source]

Move the path’s “pen”.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'path': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'to': <class 'kittycad.models.point3d.Point3d'>, 'type': typing.Literal['move_path_pen']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.move_path_pen'>, 'config': {'title': 'move_path_pen'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.move_path_pen'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.move_path_pen'>>]}, 'ref': 'kittycad.models.modeling_cmd.move_path_pen:94192504021728', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'to': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'move_path_pen', 'schema': {'expected': ['move_path_pen'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'move_path_pen', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6be22e0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "to": SerField {                         key_py: Py(                             0x00007f68a6d8b0c0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6232b70,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "z": SerField {                                                     key_py: Py(                                                         0x00007f68a783f688,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 3,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point3d",                                 },                             ),                         ),                         required: true,                     },                     "path": SerField {                         key_py: Py(                             0x00007f68a783c088,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689449f230,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "move_path_pen",                                             },                                             expected_py: None,                                             name: "literal['move_path_pen']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "move_path_pen",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="move_path_pen", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "path",                         lookup_key: Simple {                             key: "path",                             py_key: Py(                                 0x00007f68944bc3f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "path",                                         Py(                                             0x00007f68944bc420,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783c088,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 func: Py(                                     0x000055aae6b72810,                                 ),                                 config: Py(                                     0x00007f689449f480,                                 ),                                 name: "function-after[ModelingCmdId(), str]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "to",                         lookup_key: Simple {                             key: "to",                             py_key: Py(                                 0x00007f68944bc450,                             ),                             path: LookupPath(                                 [                                     S(                                         "to",                                         Py(                                             0x00007f68944bc480,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a6d8b0c0,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "z",                                                 lookup_key: Simple {                                                     key: "z",                                                     py_key: Py(                                                         0x00007f68a783f688,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "z",                                                                 Py(                                                                     0x00007f68a783f688,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f688,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point3d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6232b70,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point3d",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944bc4b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944bc4e0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689449f230,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "move_path_pen": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689449f230,                                                 ),                                             ],                                         },                                         expected_repr: "'move_path_pen'",                                         name: "literal['move_path_pen']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['move_path_pen']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "move_path_pen",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6be22e0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "move_path_pen",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, path: kittycad.models.modeling_cmd_id.ModelingCmdId, to: kittycad.models.point3d.Point3d, type: Literal['move_path_pen'] = 'move_path_pen') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'path': FieldInfo(annotation=ModelingCmdId, required=True), 'to': FieldInfo(annotation=Point3d, required=True), 'type': FieldInfo(annotation=Literal['move_path_pen'], required=False, default='move_path_pen')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

path: ModelingCmdId[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

to: Point3d[source]
type: Literal['move_path_pen'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.new_annotation(**data)[source][source]

Create a new annotation

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'annotation_type': <enum 'AnnotationType'>, 'clobber': <class 'bool'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'options': <class 'kittycad.models.annotation_options.AnnotationOptions'>, 'type': typing.Literal['new_annotation']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <enum 'AnnotationLineEnd'>, 'members': [AnnotationLineEnd.NONE, AnnotationLineEnd.ARROW], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:94192499173616', 'sub_type': 'str', 'type': 'enum'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.new_annotation'>, 'config': {'title': 'new_annotation'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.new_annotation'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.new_annotation'>>]}, 'ref': 'kittycad.models.modeling_cmd.new_annotation:94192504426000', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'annotation_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'AnnotationType'>, 'members': [AnnotationType.T2D, AnnotationType.T3D], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_type.AnnotationType:94192497908320', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'clobber': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'options': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.annotation_options.AnnotationOptions'>, 'config': {'title': 'AnnotationOptions'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.annotation_options.AnnotationOptions'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_options.AnnotationOptions'>>]}, 'ref': 'kittycad.models.annotation_options.AnnotationOptions:94192497882272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.color.Color'>, 'config': {'title': 'Color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.color.Color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.color.Color'>>]}, 'ref': 'kittycad.models.color.Color:94192493857760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'a': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'b': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'g': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'r': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Color', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'line_ends': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions'>, 'config': {'title': 'AnnotationLineEndOptions'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions'>>]}, 'ref': 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions:94192501086416', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'end': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:94192499173616', 'type': 'definition-ref'}, 'type': 'model-field'}, 'start': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:94192499173616', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'AnnotationLineEndOptions', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'line_width': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'position': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'text': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.annotation_text_options.AnnotationTextOptions'>, 'config': {'title': 'AnnotationTextOptions'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.annotation_text_options.AnnotationTextOptions'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_text_options.AnnotationTextOptions'>>]}, 'ref': 'kittycad.models.annotation_text_options.AnnotationTextOptions:94192499209072', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'point_size': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'text': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'AnnotationTextAlignmentX'>, 'members': [AnnotationTextAlignmentX.LEFT, AnnotationTextAlignmentX.CENTER, AnnotationTextAlignmentX.RIGHT], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_text_alignment_x.AnnotationTextAlignmentX:94192499204400', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'AnnotationTextAlignmentY'>, 'members': [AnnotationTextAlignmentY.BOTTOM, AnnotationTextAlignmentY.CENTER, AnnotationTextAlignmentY.TOP], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_text_alignment_y.AnnotationTextAlignmentY:94192499207296', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}}, 'model_name': 'AnnotationTextOptions', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'AnnotationOptions', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'new_annotation', 'schema': {'expected': ['new_annotation'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'new_annotation', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c44e10,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "annotation_type": SerField {                         key_py: Py(                             0x00007f68a677a530,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae660da60,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "clobber": SerField {                         key_py: Py(                             0x00007f68944be190,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944ba7b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "new_annotation",                                             },                                             expected_py: None,                                             name: "literal['new_annotation']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "options": SerField {                         key_py: Py(                             0x00007f68a783be60,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae66074a0,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "text": SerField {                                                     key_py: Py(                                                         0x00007f68a783d750,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         WithDefault(                                                             WithDefaultSerializer {                                                                 default: Default(                                                                     Py(                                                                         0x00007f68a7748100,                                                                     ),                                                                 ),                                                                 serializer: Nullable(                                                                     NullableSerializer {                                                                         serializer: Model(                                                                             ModelSerializer {                                                                                 class: Py(                                                                                     0x000055aae674b370,                                                                                 ),                                                                                 serializer: Fields(                                                                                     GeneralFieldsSerializer {                                                                                         fields: {                                                                                             "point_size": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68947cf3f0,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Int(                                                                                                         IntSerializer,                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "text": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783d750,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Str(                                                                                                         StrSerializer,                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "x": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783df18,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Enum(                                                                                                         EnumSerializer {                                                                                                             class: Py(                                                                                                                 0x000055aae674a130,                                                                                                             ),                                                                                                             serializer: Some(                                                                                                                 Str(                                                                                                                     StrSerializer,                                                                                                                 ),                                                                                                             ),                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "y": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783f658,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Enum(                                                                                                         EnumSerializer {                                                                                                             class: Py(                                                                                                                 0x000055aae674ac80,                                                                                                             ),                                                                                                             serializer: Some(                                                                                                                 Str(                                                                                                                     StrSerializer,                                                                                                                 ),                                                                                                             ),                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                         },                                                                                         computed_fields: Some(                                                                                             ComputedFields(                                                                                                 [],                                                                                             ),                                                                                         ),                                                                                         mode: SimpleDict,                                                                                         extra_serializer: None,                                                                                         filter: SchemaFilter {                                                                                             include: None,                                                                                             exclude: None,                                                                                         },                                                                                         required_fields: 4,                                                                                     },                                                                                 ),                                                                                 has_extra: false,                                                                                 root_model: false,                                                                                 name: "AnnotationTextOptions",                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "position": SerField {                                                     key_py: Py(                                                         0x00007f68a61946b0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         WithDefault(                                                             WithDefaultSerializer {                                                                 default: Default(                                                                     Py(                                                                         0x00007f68a7748100,                                                                     ),                                                                 ),                                                                 serializer: Nullable(                                                                     NullableSerializer {                                                                         serializer: Model(                                                                             ModelSerializer {                                                                                 class: Py(                                                                                     0x000055aae6232b70,                                                                                 ),                                                                                 serializer: Fields(                                                                                     GeneralFieldsSerializer {                                                                                         fields: {                                                                                             "z": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783f688,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "x": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783df18,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "y": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783f658,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                         },                                                                                         computed_fields: Some(                                                                                             ComputedFields(                                                                                                 [],                                                                                             ),                                                                                         ),                                                                                         mode: SimpleDict,                                                                                         extra_serializer: None,                                                                                         filter: SchemaFilter {                                                                                             include: None,                                                                                             exclude: None,                                                                                         },                                                                                         required_fields: 3,                                                                                     },                                                                                 ),                                                                                 has_extra: false,                                                                                 root_model: false,                                                                                 name: "Point3d",                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "color": SerField {                                                     key_py: Py(                                                         0x00007f68a691a010,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         WithDefault(                                                             WithDefaultSerializer {                                                                 default: Default(                                                                     Py(                                                                         0x00007f68a7748100,                                                                     ),                                                                 ),                                                                 serializer: Nullable(                                                                     NullableSerializer {                                                                         serializer: Model(                                                                             ModelSerializer {                                                                                 class: Py(                                                                                     0x000055aae6230be0,                                                                                 ),                                                                                 serializer: Fields(                                                                                     GeneralFieldsSerializer {                                                                                         fields: {                                                                                             "b": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a78381d0,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "a": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a7837db0,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "r": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783c570,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "g": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783f2f8,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                         },                                                                                         computed_fields: Some(                                                                                             ComputedFields(                                                                                                 [],                                                                                             ),                                                                                         ),                                                                                         mode: SimpleDict,                                                                                         extra_serializer: None,                                                                                         filter: SchemaFilter {                                                                                             include: None,                                                                                             exclude: None,                                                                                         },                                                                                         required_fields: 4,                                                                                     },                                                                                 ),                                                                                 has_extra: false,                                                                                 root_model: false,                                                                                 name: "Color",                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "line_ends": SerField {                                                     key_py: Py(                                                         0x00007f68951cb130,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         WithDefault(                                                             WithDefaultSerializer {                                                                 default: Default(                                                                     Py(                                                                         0x00007f68a7748100,                                                                     ),                                                                 ),                                                                 serializer: Nullable(                                                                     NullableSerializer {                                                                         serializer: Model(                                                                             ModelSerializer {                                                                                 class: Py(                                                                                     0x000055aae69158d0,                                                                                 ),                                                                                 serializer: Fields(                                                                                     GeneralFieldsSerializer {                                                                                         fields: {                                                                                             "end": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a7839760,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Recursive(                                                                                                         DefinitionRefSerializer {                                                                                                             definition: "...",                                                                                                             retry_with_lax_check: false,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "start": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783d1a0,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Recursive(                                                                                                         DefinitionRefSerializer {                                                                                                             definition: "...",                                                                                                             retry_with_lax_check: false,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                         },                                                                                         computed_fields: Some(                                                                                             ComputedFields(                                                                                                 [],                                                                                             ),                                                                                         ),                                                                                         mode: SimpleDict,                                                                                         extra_serializer: None,                                                                                         filter: SchemaFilter {                                                                                             include: None,                                                                                             exclude: None,                                                                                         },                                                                                         required_fields: 2,                                                                                     },                                                                                 ),                                                                                 has_extra: false,                                                                                 root_model: false,                                                                                 name: "AnnotationLineEndOptions",                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "line_width": SerField {                                                     key_py: Py(                                                         0x00007f68a584d6b0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         WithDefault(                                                             WithDefaultSerializer {                                                                 default: Default(                                                                     Py(                                                                         0x00007f68a7748100,                                                                     ),                                                                 ),                                                                 serializer: Nullable(                                                                     NullableSerializer {                                                                         serializer: Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 5,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "AnnotationOptions",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "new_annotation",     }, ), definitions=[Enum(EnumSerializer { class: Py(0x55aae67428f0), serializer: Some(Str(StrSerializer)) })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="new_annotation", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "annotation_type",                         lookup_key: Simple {                             key: "annotation_type",                             py_key: Py(                                 0x00007f68945e9230,                             ),                             path: LookupPath(                                 [                                     S(                                         "annotation_type",                                         Py(                                             0x00007f68944429f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a677a530,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae660da60,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "t3d": 1,                                             "t2d": 0,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f6894d6f470,                                         ),                                         Py(                                             0x00007f6894d6f530,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'t2d' or 't3d'",                                 strict: false,                                 class_repr: "AnnotationType",                                 name: "str-enum[AnnotationType]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "clobber",                         lookup_key: Simple {                             key: "clobber",                             py_key: Py(                                 0x00007f68943966a0,                             ),                             path: LookupPath(                                 [                                     S(                                         "clobber",                                         Py(                                             0x00007f6894396670,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944be190,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "options",                         lookup_key: Simple {                             key: "options",                             py_key: Py(                                 0x00007f68943a4de0,                             ),                             path: LookupPath(                                 [                                     S(                                         "options",                                         Py(                                             0x00007f68943a4ea0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783be60,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "color",                                                 lookup_key: Simple {                                                     key: "color",                                                     py_key: Py(                                                         0x00007f68943966d0,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "color",                                                                 Py(                                                                     0x00007f68944db150,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a691a010,                                                 ),                                                 validator: WithDefault(                                                     WithDefaultValidator {                                                         default: Default(                                                             Py(                                                                 0x00007f68a7748100,                                                             ),                                                         ),                                                         on_error: Raise,                                                         validator: Nullable(                                                             NullableValidator {                                                                 validator: Model(                                                                     ModelValidator {                                                                         revalidate: Never,                                                                         validator: ModelFields(                                                                             ModelFieldsValidator {                                                                                 fields: [                                                                                     Field {                                                                                         name: "a",                                                                                         lookup_key: Simple {                                                                                             key: "a",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f1d8,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "a",                                                                                                         Py(                                                                                                             0x00007f68a783f1d8,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a7837db0,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "b",                                                                                         lookup_key: Simple {                                                                                             key: "b",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f208,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "b",                                                                                                         Py(                                                                                                             0x00007f68a783f208,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a78381d0,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "g",                                                                                         lookup_key: Simple {                                                                                             key: "g",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f2f8,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "g",                                                                                                         Py(                                                                                                             0x00007f68a783f2f8,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783f2f8,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "r",                                                                                         lookup_key: Simple {                                                                                             key: "r",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f508,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "r",                                                                                                         Py(                                                                                                             0x00007f68a783f508,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783c570,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                 ],                                                                                 model_name: "Color",                                                                                 extra_behavior: Ignore,                                                                                 extras_validator: None,                                                                                 strict: false,                                                                                 from_attributes: false,                                                                                 loc_by_alias: true,                                                                             },                                                                         ),                                                                         class: Py(                                                                             0x000055aae6230be0,                                                                         ),                                                                         post_init: None,                                                                         frozen: false,                                                                         custom_init: false,                                                                         root_model: false,                                                                         undefined: Py(                                                                             0x00007f6896b91e70,                                                                         ),                                                                         name: "Color",                                                                     },                                                                 ),                                                                 name: "nullable[Color]",                                                             },                                                         ),                                                         validate_default: false,                                                         copy_default: false,                                                         name: "default[nullable[Color]]",                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "line_ends",                                                 lookup_key: Simple {                                                     key: "line_ends",                                                     py_key: Py(                                                         0x00007f68943ba6b0,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "line_ends",                                                                 Py(                                                                     0x00007f68943ba730,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68951cb130,                                                 ),                                                 validator: WithDefault(                                                     WithDefaultValidator {                                                         default: Default(                                                             Py(                                                                 0x00007f68a7748100,                                                             ),                                                         ),                                                         on_error: Raise,                                                         validator: Nullable(                                                             NullableValidator {                                                                 validator: Model(                                                                     ModelValidator {                                                                         revalidate: Never,                                                                         validator: ModelFields(                                                                             ModelFieldsValidator {                                                                                 fields: [                                                                                     Field {                                                                                         name: "end",                                                                                         lookup_key: Simple {                                                                                             key: "end",                                                                                             py_key: Py(                                                                                                 0x00007f68944db0f0,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "end",                                                                                                         Py(                                                                                                             0x00007f68944db120,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a7839760,                                                                                         ),                                                                                         validator: DefinitionRef(                                                                                             DefinitionRefValidator {                                                                                                 definition: "...",                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "start",                                                                                         lookup_key: Simple {                                                                                             key: "start",                                                                                             py_key: Py(                                                                                                 0x00007f68944db2d0,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "start",                                                                                                         Py(                                                                                                             0x00007f68944db270,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783d1a0,                                                                                         ),                                                                                         validator: DefinitionRef(                                                                                             DefinitionRefValidator {                                                                                                 definition: "...",                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                 ],                                                                                 model_name: "AnnotationLineEndOptions",                                                                                 extra_behavior: Ignore,                                                                                 extras_validator: None,                                                                                 strict: false,                                                                                 from_attributes: false,                                                                                 loc_by_alias: true,                                                                             },                                                                         ),                                                                         class: Py(                                                                             0x000055aae69158d0,                                                                         ),                                                                         post_init: None,                                                                         frozen: false,                                                                         custom_init: false,                                                                         root_model: false,                                                                         undefined: Py(                                                                             0x00007f6896b91e70,                                                                         ),                                                                         name: "AnnotationLineEndOptions",                                                                     },                                                                 ),                                                                 name: "nullable[AnnotationLineEndOptions]",                                                             },                                                         ),                                                         validate_default: false,                                                         copy_default: false,                                                         name: "default[nullable[AnnotationLineEndOptions]]",                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "line_width",                                                 lookup_key: Simple {                                                     key: "line_width",                                                     py_key: Py(                                                         0x00007f68943ba6f0,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "line_width",                                                                 Py(                                                                     0x00007f68943ba770,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a584d6b0,                                                 ),                                                 validator: WithDefault(                                                     WithDefaultValidator {                                                         default: Default(                                                             Py(                                                                 0x00007f68a7748100,                                                             ),                                                         ),                                                         on_error: Raise,                                                         validator: Nullable(                                                             NullableValidator {                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 name: "nullable[float]",                                                             },                                                         ),                                                         validate_default: false,                                                         copy_default: false,                                                         name: "default[nullable[float]]",                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "position",                                                 lookup_key: Simple {                                                     key: "position",                                                     py_key: Py(                                                         0x00007f68943ba7b0,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "position",                                                                 Py(                                                                     0x00007f68943ba7f0,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a61946b0,                                                 ),                                                 validator: WithDefault(                                                     WithDefaultValidator {                                                         default: Default(                                                             Py(                                                                 0x00007f68a7748100,                                                             ),                                                         ),                                                         on_error: Raise,                                                         validator: Nullable(                                                             NullableValidator {                                                                 validator: Model(                                                                     ModelValidator {                                                                         revalidate: Never,                                                                         validator: ModelFields(                                                                             ModelFieldsValidator {                                                                                 fields: [                                                                                     Field {                                                                                         name: "x",                                                                                         lookup_key: Simple {                                                                                             key: "x",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f628,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "x",                                                                                                         Py(                                                                                                             0x00007f68a783f628,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783df18,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "y",                                                                                         lookup_key: Simple {                                                                                             key: "y",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f658,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "y",                                                                                                         Py(                                                                                                             0x00007f68a783f658,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783f658,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "z",                                                                                         lookup_key: Simple {                                                                                             key: "z",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f688,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "z",                                                                                                         Py(                                                                                                             0x00007f68a783f688,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783f688,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                 ],                                                                                 model_name: "Point3d",                                                                                 extra_behavior: Ignore,                                                                                 extras_validator: None,                                                                                 strict: false,                                                                                 from_attributes: false,                                                                                 loc_by_alias: true,                                                                             },                                                                         ),                                                                         class: Py(                                                                             0x000055aae6232b70,                                                                         ),                                                                         post_init: None,                                                                         frozen: false,                                                                         custom_init: false,                                                                         root_model: false,                                                                         undefined: Py(                                                                             0x00007f6896b91e70,                                                                         ),                                                                         name: "Point3d",                                                                     },                                                                 ),                                                                 name: "nullable[Point3d]",                                                             },                                                         ),                                                         validate_default: false,                                                         copy_default: false,                                                         name: "default[nullable[Point3d]]",                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "text",                                                 lookup_key: Simple {                                                     key: "text",                                                     py_key: Py(                                                         0x00007f68944db240,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "text",                                                                 Py(                                                                     0x00007f6894499d10,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783d750,                                                 ),                                                 validator: WithDefault(                                                     WithDefaultValidator {                                                         default: Default(                                                             Py(                                                                 0x00007f68a7748100,                                                             ),                                                         ),                                                         on_error: Raise,                                                         validator: Nullable(                                                             NullableValidator {                                                                 validator: Model(                                                                     ModelValidator {                                                                         revalidate: Never,                                                                         validator: ModelFields(                                                                             ModelFieldsValidator {                                                                                 fields: [                                                                                     Field {                                                                                         name: "point_size",                                                                                         lookup_key: Simple {                                                                                             key: "point_size",                                                                                             py_key: Py(                                                                                                 0x00007f68943ba830,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "point_size",                                                                                                         Py(                                                                                                             0x00007f68943ba870,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68947cf3f0,                                                                                         ),                                                                                         validator: Int(                                                                                             IntValidator {                                                                                                 strict: false,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "text",                                                                                         lookup_key: Simple {                                                                                             key: "text",                                                                                             py_key: Py(                                                                                                 0x00007f68944db210,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "text",                                                                                                         Py(                                                                                                             0x00007f68944db1e0,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783d750,                                                                                         ),                                                                                         validator: Str(                                                                                             StrValidator {                                                                                                 strict: false,                                                                                                 coerce_numbers_to_str: false,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "x",                                                                                         lookup_key: Simple {                                                                                             key: "x",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f628,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "x",                                                                                                         Py(                                                                                                             0x00007f68a783f628,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783df18,                                                                                         ),                                                                                         validator: StrEnum(                                                                                             EnumValidator {                                                                                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                                                                 class: Py(                                                                                                     0x000055aae674a130,                                                                                                 ),                                                                                                 lookup: LiteralLookup {                                                                                                     expected_bool: None,                                                                                                     expected_int: None,                                                                                                     expected_str: Some(                                                                                                         {                                                                                                             "left": 0,                                                                                                             "right": 2,                                                                                                             "center": 1,                                                                                                         },                                                                                                     ),                                                                                                     expected_py_dict: None,                                                                                                     expected_py_values: None,                                                                                                     values: [                                                                                                         Py(                                                                                                             0x00007f6894d6ee70,                                                                                                         ),                                                                                                         Py(                                                                                                             0x00007f6894d6eed0,                                                                                                         ),                                                                                                         Py(                                                                                                             0x00007f6894d6ef30,                                                                                                         ),                                                                                                     ],                                                                                                 },                                                                                                 missing: None,                                                                                                 expected_repr: "'left', 'center' or 'right'",                                                                                                 strict: false,                                                                                                 class_repr: "AnnotationTextAlignmentX",                                                                                                 name: "str-enum[AnnotationTextAlignmentX]",                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "y",                                                                                         lookup_key: Simple {                                                                                             key: "y",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f658,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "y",                                                                                                         Py(                                                                                                             0x00007f68a783f658,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783f658,                                                                                         ),                                                                                         validator: StrEnum(                                                                                             EnumValidator {                                                                                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                                                                 class: Py(                                                                                                     0x000055aae674ac80,                                                                                                 ),                                                                                                 lookup: LiteralLookup {                                                                                                     expected_bool: None,                                                                                                     expected_int: None,                                                                                                     expected_str: Some(                                                                                                         {                                                                                                             "top": 2,                                                                                                             "center": 1,                                                                                                             "bottom": 0,                                                                                                         },                                                                                                     ),                                                                                                     expected_py_dict: None,                                                                                                     expected_py_values: None,                                                                                                     values: [                                                                                                         Py(                                                                                                             0x00007f6894d6f050,                                                                                                         ),                                                                                                         Py(                                                                                                             0x00007f6894d6f0b0,                                                                                                         ),                                                                                                         Py(                                                                                                             0x00007f6894d6f110,                                                                                                         ),                                                                                                     ],                                                                                                 },                                                                                                 missing: None,                                                                                                 expected_repr: "'bottom', 'center' or 'top'",                                                                                                 strict: false,                                                                                                 class_repr: "AnnotationTextAlignmentY",                                                                                                 name: "str-enum[AnnotationTextAlignmentY]",                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                 ],                                                                                 model_name: "AnnotationTextOptions",                                                                                 extra_behavior: Ignore,                                                                                 extras_validator: None,                                                                                 strict: false,                                                                                 from_attributes: false,                                                                                 loc_by_alias: true,                                                                             },                                                                         ),                                                                         class: Py(                                                                             0x000055aae674b370,                                                                         ),                                                                         post_init: None,                                                                         frozen: false,                                                                         custom_init: false,                                                                         root_model: false,                                                                         undefined: Py(                                                                             0x00007f6896b91e70,                                                                         ),                                                                         name: "AnnotationTextOptions",                                                                     },                                                                 ),                                                                 name: "nullable[AnnotationTextOptions]",                                                             },                                                         ),                                                         validate_default: false,                                                         copy_default: false,                                                         name: "default[nullable[AnnotationTextOptions]]",                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "AnnotationOptions",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae66074a0,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "AnnotationOptions",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943a4ed0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943a4e70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944ba7b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "new_annotation": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944ba7b0,                                                 ),                                             ],                                         },                                         expected_repr: "'new_annotation'",                                         name: "literal['new_annotation']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['new_annotation']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "new_annotation",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c44e10,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "new_annotation",     }, ), definitions=[StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55aae67428f0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"none": 0, "arrow": 1}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f6894d6e690), Py(0x7f6894d6eb70)] }, missing: None, expected_repr: "'none' or 'arrow'", strict: false, class_repr: "AnnotationLineEnd", name: "str-enum[AnnotationLineEnd]" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, annotation_type: kittycad.models.annotation_type.AnnotationType, clobber: bool, options: kittycad.models.annotation_options.AnnotationOptions, type: Literal['new_annotation'] = 'new_annotation') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

annotation_type: AnnotationType[source]
clobber: bool[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'annotation_type': FieldInfo(annotation=AnnotationType, required=True), 'clobber': FieldInfo(annotation=bool, required=True), 'options': FieldInfo(annotation=AnnotationOptions, required=True), 'type': FieldInfo(annotation=Literal['new_annotation'], required=False, default='new_annotation')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

options: AnnotationOptions[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['new_annotation'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.object_bring_to_front(**data)[source][source]

Bring an object to the front of the scene

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['object_bring_to_front']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.object_bring_to_front'>, 'config': {'title': 'object_bring_to_front'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.object_bring_to_front'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.object_bring_to_front'>>]}, 'ref': 'kittycad.models.modeling_cmd.object_bring_to_front:94192504017664', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'object_bring_to_front', 'schema': {'expected': ['object_bring_to_front'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'object_bring_to_front', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6be1300,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944bb0b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "object_bring_to_front",                                             },                                             expected_py: None,                                             name: "literal['object_bring_to_front']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "object_bring_to_front",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="object_bring_to_front", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943c45f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943c4270,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943c9d10,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943c9d40,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944bb0b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "object_bring_to_front": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944bb0b0,                                                 ),                                             ],                                         },                                         expected_repr: "'object_bring_to_front'",                                         name: "literal['object_bring_to_front']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['object_bring_to_front']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "object_bring_to_front",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6be1300,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "object_bring_to_front",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, object_id: str, type: Literal['object_bring_to_front'] = 'object_bring_to_front') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['object_bring_to_front'], required=False, default='object_bring_to_front')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['object_bring_to_front'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.object_set_material_params_pbr(**data)[source][source]

Set the material properties of an object

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'ambient_occlusion': <class 'float'>, 'color': <class 'kittycad.models.color.Color'>, 'metalness': <class 'float'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'roughness': <class 'float'>, 'type': typing.Literal['object_set_material_params_pbr']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.object_set_material_params_pbr'>, 'config': {'title': 'object_set_material_params_pbr'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.object_set_material_params_pbr'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.object_set_material_params_pbr'>>]}, 'ref': 'kittycad.models.modeling_cmd.object_set_material_params_pbr:94192504563456', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'ambient_occlusion': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.color.Color'>, 'config': {'title': 'Color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.color.Color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.color.Color'>>]}, 'ref': 'kittycad.models.color.Color:94192493857760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'a': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'b': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'g': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'r': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Color', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'metalness': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'roughness': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'object_set_material_params_pbr', 'schema': {'expected': ['object_set_material_params_pbr'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'object_set_material_params_pbr', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c66700,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "roughness": SerField {                         key_py: Py(                             0x00007f68944bb370,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "ambient_occlusion": SerField {                         key_py: Py(                             0x00007f68944bb2b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "metalness": SerField {                         key_py: Py(                             0x00007f68944bb2f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689448b550,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "object_set_material_params_pbr",                                             },                                             expected_py: None,                                             name: "literal['object_set_material_params_pbr']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "color": SerField {                         key_py: Py(                             0x00007f68a691a010,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6230be0,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "b": SerField {                                                     key_py: Py(                                                         0x00007f68a78381d0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "g": SerField {                                                     key_py: Py(                                                         0x00007f68a783f2f8,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "a": SerField {                                                     key_py: Py(                                                         0x00007f68a7837db0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "r": SerField {                                                     key_py: Py(                                                         0x00007f68a783c570,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 4,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Color",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 6,             },         ),         has_extra: false,         root_model: false,         name: "object_set_material_params_pbr",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="object_set_material_params_pbr", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "ambient_occlusion",                         lookup_key: Simple {                             key: "ambient_occlusion",                             py_key: Py(                                 0x00007f68943c73b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "ambient_occlusion",                                         Py(                                             0x00007f68943c7370,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944bb2b0,                         ),                         validator: Float(                             FloatValidator {                                 strict: false,                                 allow_inf_nan: true,                             },                         ),                         frozen: false,                     },                     Field {                         name: "color",                         lookup_key: Simple {                             key: "color",                             py_key: Py(                                 0x00007f68943c9950,                             ),                             path: LookupPath(                                 [                                     S(                                         "color",                                         Py(                                             0x00007f68943c9aa0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a691a010,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "a",                                                 lookup_key: Simple {                                                     key: "a",                                                     py_key: Py(                                                         0x00007f68a783f1d8,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "a",                                                                 Py(                                                                     0x00007f68a783f1d8,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a7837db0,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "b",                                                 lookup_key: Simple {                                                     key: "b",                                                     py_key: Py(                                                         0x00007f68a783f208,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "b",                                                                 Py(                                                                     0x00007f68a783f208,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a78381d0,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "g",                                                 lookup_key: Simple {                                                     key: "g",                                                     py_key: Py(                                                         0x00007f68a783f2f8,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "g",                                                                 Py(                                                                     0x00007f68a783f2f8,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f2f8,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "r",                                                 lookup_key: Simple {                                                     key: "r",                                                     py_key: Py(                                                         0x00007f68a783f508,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "r",                                                                 Py(                                                                     0x00007f68a783f508,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783c570,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Color",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6230be0,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Color",                             },                         ),                         frozen: false,                     },                     Field {                         name: "metalness",                         lookup_key: Simple {                             key: "metalness",                             py_key: Py(                                 0x00007f68943c7430,                             ),                             path: LookupPath(                                 [                                     S(                                         "metalness",                                         Py(                                             0x00007f68943c73f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944bb2f0,                         ),                         validator: Float(                             FloatValidator {                                 strict: false,                                 allow_inf_nan: true,                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943c7470,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943c74b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "roughness",                         lookup_key: Simple {                             key: "roughness",                             py_key: Py(                                 0x00007f68943c74f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "roughness",                                         Py(                                             0x00007f68943c7530,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944bb370,                         ),                         validator: Float(                             FloatValidator {                                 strict: false,                                 allow_inf_nan: true,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943c9a70,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943c9a10,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689448b550,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "object_set_material_params_pbr": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689448b550,                                                 ),                                             ],                                         },                                         expected_repr: "'object_set_material_params_pbr'",                                         name: "literal['object_set_material_params_pbr']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['object_set_material_params_pbr']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "object_set_material_params_pbr",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c66700,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "object_set_material_params_pbr",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, ambient_occlusion: float, color: kittycad.models.color.Color, metalness: float, object_id: str, roughness: float, type: Literal['object_set_material_params_pbr'] = 'object_set_material_params_pbr') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

ambient_occlusion: float[source]
color: Color[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

metalness: float[source]
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'ambient_occlusion': FieldInfo(annotation=float, required=True), 'color': FieldInfo(annotation=Color, required=True), 'metalness': FieldInfo(annotation=float, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'roughness': FieldInfo(annotation=float, required=True), 'type': FieldInfo(annotation=Literal['object_set_material_params_pbr'], required=False, default='object_set_material_params_pbr')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

roughness: float[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['object_set_material_params_pbr'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.object_visible(**data)[source][source]

Hide or show an object

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'hidden': <class 'bool'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['object_visible']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.object_visible'>, 'config': {'title': 'object_visible'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.object_visible'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.object_visible'>>]}, 'ref': 'kittycad.models.modeling_cmd.object_visible:94192504541616', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'hidden': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'object_visible', 'schema': {'expected': ['object_visible'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'object_visible', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c611b0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "hidden": SerField {                         key_py: Py(                             0x00007f68a5ff9140,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944bae70,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "object_visible",                                             },                                             expected_py: None,                                             name: "literal['object_visible']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "object_visible",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="object_visible", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "hidden",                         lookup_key: Simple {                             key: "hidden",                             py_key: Py(                                 0x00007f68943c87e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "hidden",                                         Py(                                             0x00007f68943c87b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a5ff9140,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943bbf30,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943bb3f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943c8870,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943c88a0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944bae70,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "object_visible": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944bae70,                                                 ),                                             ],                                         },                                         expected_repr: "'object_visible'",                                         name: "literal['object_visible']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['object_visible']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "object_visible",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c611b0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "object_visible",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, hidden: bool, object_id: str, type: Literal['object_visible'] = 'object_visible') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

hidden: bool[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'hidden': FieldInfo(annotation=bool, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['object_visible'], required=False, default='object_visible')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['object_visible'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.path_get_curve_uuid(**data)[source][source]

Obtain curve id by index

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'index': <class 'int'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'path_id': <class 'str'>, 'type': typing.Literal['path_get_curve_uuid']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.path_get_curve_uuid'>, 'config': {'title': 'path_get_curve_uuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.path_get_curve_uuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.path_get_curve_uuid'>>]}, 'ref': 'kittycad.models.modeling_cmd.path_get_curve_uuid:94192474925280', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'index': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_curve_uuid', 'schema': {'expected': ['path_get_curve_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_curve_uuid', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae50228e0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "index": SerField {                         key_py: Py(                             0x00007f68a77fbca0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Int(                                 IntSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689510d730,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "path_get_curve_uuid",                                             },                                             expected_py: None,                                             name: "literal['path_get_curve_uuid']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "path_id": SerField {                         key_py: Py(                             0x00007f6896dca430,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "path_get_curve_uuid",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="path_get_curve_uuid", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "index",                         lookup_key: Simple {                             key: "index",                             py_key: Py(                                 0x00007f68942a1e30,                             ),                             path: LookupPath(                                 [                                     S(                                         "index",                                         Py(                                             0x00007f68942a1e60,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a77fbca0,                         ),                         validator: Int(                             IntValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "path_id",                         lookup_key: Simple {                             key: "path_id",                             py_key: Py(                                 0x00007f68942a1e90,                             ),                             path: LookupPath(                                 [                                     S(                                         "path_id",                                         Py(                                             0x00007f68942a1ec0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6896dca430,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942a1ef0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942a1f20,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689510d730,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "path_get_curve_uuid": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689510d730,                                                 ),                                             ],                                         },                                         expected_repr: "'path_get_curve_uuid'",                                         name: "literal['path_get_curve_uuid']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['path_get_curve_uuid']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "path_get_curve_uuid",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae50228e0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "path_get_curve_uuid",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, index: int, path_id: str, type: Literal['path_get_curve_uuid'] = 'path_get_curve_uuid') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

index: int[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'index': FieldInfo(annotation=int, required=True), 'path_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['path_get_curve_uuid'], required=False, default='path_get_curve_uuid')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

path_id: str[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['path_get_curve_uuid'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.path_get_curve_uuids_for_vertices(**data)[source][source]

Obtain curve ids for vertex ids

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'path_id': <class 'str'>, 'type': typing.Literal['path_get_curve_uuids_for_vertices'], 'vertex_ids': typing.List[str]}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.path_get_curve_uuids_for_vertices'>, 'config': {'title': 'path_get_curve_uuids_for_vertices'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.path_get_curve_uuids_for_vertices'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.path_get_curve_uuids_for_vertices'>>]}, 'ref': 'kittycad.models.modeling_cmd.path_get_curve_uuids_for_vertices:94192473359392', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_curve_uuids_for_vertices', 'schema': {'expected': ['path_get_curve_uuids_for_vertices'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'vertex_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'path_get_curve_uuids_for_vertices', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae4ea4420,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511b000,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "path_get_curve_uuids_for_vertices",                                             },                                             expected_py: None,                                             name: "literal['path_get_curve_uuids_for_vertices']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "path_id": SerField {                         key_py: Py(                             0x00007f6896dca430,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "vertex_ids": SerField {                         key_py: Py(                             0x00007f68944e6230,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "path_get_curve_uuids_for_vertices",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="path_get_curve_uuids_for_vertices", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "path_id",                         lookup_key: Simple {                             key: "path_id",                             py_key: Py(                                 0x00007f689429d110,                             ),                             path: LookupPath(                                 [                                     S(                                         "path_id",                                         Py(                                             0x00007f689429cf90,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6896dca430,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689429d350,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689429d080,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511b000,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "path_get_curve_uuids_for_vertices": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511b000,                                                 ),                                             ],                                         },                                         expected_repr: "'path_get_curve_uuids_for_vertices'",                                         name: "literal['path_get_curve_uuids_for_vertices']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['path_get_curve_uuids_for_vertices']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "vertex_ids",                         lookup_key: Simple {                             key: "vertex_ids",                             py_key: Py(                                 0x00007f6894293cb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "vertex_ids",                                         Py(                                             0x00007f6894293c70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e6230,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                 ],                 model_name: "path_get_curve_uuids_for_vertices",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae4ea4420,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "path_get_curve_uuids_for_vertices",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, path_id: str, type: Literal['path_get_curve_uuids_for_vertices'] = 'path_get_curve_uuids_for_vertices', vertex_ids: List[str]) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'path_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['path_get_curve_uuids_for_vertices'], required=False, default='path_get_curve_uuids_for_vertices'), 'vertex_ids': FieldInfo(annotation=List[str], required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

path_id: str[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['path_get_curve_uuids_for_vertices'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

vertex_ids: List[str][source]
class kittycad.models.modeling_cmd.path_get_info(**data)[source][source]

Query the given path.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'path_id': <class 'str'>, 'type': typing.Literal['path_get_info']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.path_get_info'>, 'config': {'title': 'path_get_info'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.path_get_info'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.path_get_info'>>]}, 'ref': 'kittycad.models.modeling_cmd.path_get_info:94192505151152', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_info', 'schema': {'expected': ['path_get_info'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_info', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cf5eb0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689510d830,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "path_get_info",                                             },                                             expected_py: None,                                             name: "literal['path_get_info']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "path_id": SerField {                         key_py: Py(                             0x00007f6896dca430,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "path_get_info",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="path_get_info", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "path_id",                         lookup_key: Simple {                             key: "path_id",                             py_key: Py(                                 0x00007f689429eeb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "path_id",                                         Py(                                             0x00007f689429eee0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6896dca430,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689429ef10,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689429ef40,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689510d830,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "path_get_info": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689510d830,                                                 ),                                             ],                                         },                                         expected_repr: "'path_get_info'",                                         name: "literal['path_get_info']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['path_get_info']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "path_get_info",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cf5eb0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "path_get_info",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, path_id: str, type: Literal['path_get_info'] = 'path_get_info') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'path_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['path_get_info'], required=False, default='path_get_info')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

path_id: str[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['path_get_info'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.path_get_sketch_target_uuid(**data)[source][source]

Obtain the sketch target id (if the path was drawn in sketchmode) for a path

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'path_id': <class 'str'>, 'type': typing.Literal['path_get_sketch_target_uuid']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.path_get_sketch_target_uuid'>, 'config': {'title': 'path_get_sketch_target_uuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.path_get_sketch_target_uuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.path_get_sketch_target_uuid'>>]}, 'ref': 'kittycad.models.modeling_cmd.path_get_sketch_target_uuid:94192505196304', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_sketch_target_uuid', 'schema': {'expected': ['path_get_sketch_target_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_sketch_target_uuid', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d00f10,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511b0a0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "path_get_sketch_target_uuid",                                             },                                             expected_py: None,                                             name: "literal['path_get_sketch_target_uuid']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "path_id": SerField {                         key_py: Py(                             0x00007f6896dca430,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "path_get_sketch_target_uuid",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="path_get_sketch_target_uuid", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "path_id",                         lookup_key: Simple {                             key: "path_id",                             py_key: Py(                                 0x00007f68942a19e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "path_id",                                         Py(                                             0x00007f68942a1a40,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6896dca430,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942a1a10,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942a1b90,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511b0a0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "path_get_sketch_target_uuid": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511b0a0,                                                 ),                                             ],                                         },                                         expected_repr: "'path_get_sketch_target_uuid'",                                         name: "literal['path_get_sketch_target_uuid']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['path_get_sketch_target_uuid']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "path_get_sketch_target_uuid",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d00f10,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "path_get_sketch_target_uuid",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, path_id: str, type: Literal['path_get_sketch_target_uuid'] = 'path_get_sketch_target_uuid') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'path_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['path_get_sketch_target_uuid'], required=False, default='path_get_sketch_target_uuid')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

path_id: str[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['path_get_sketch_target_uuid'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.path_get_vertex_uuids(**data)[source][source]

Obtain vertex ids for a path

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'path_id': <class 'str'>, 'type': typing.Literal['path_get_vertex_uuids']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.path_get_vertex_uuids'>, 'config': {'title': 'path_get_vertex_uuids'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.path_get_vertex_uuids'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.path_get_vertex_uuids'>>]}, 'ref': 'kittycad.models.modeling_cmd.path_get_vertex_uuids:94192505163264', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_vertex_uuids', 'schema': {'expected': ['path_get_vertex_uuids'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_vertex_uuids', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cf8e00,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "path_id": SerField {                         key_py: Py(                             0x00007f6896dca430,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689510d9b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "path_get_vertex_uuids",                                             },                                             expected_py: None,                                             name: "literal['path_get_vertex_uuids']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "path_get_vertex_uuids",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="path_get_vertex_uuids", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "path_id",                         lookup_key: Simple {                             key: "path_id",                             py_key: Py(                                 0x00007f68942a3a20,                             ),                             path: LookupPath(                                 [                                     S(                                         "path_id",                                         Py(                                             0x00007f68942a3a50,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6896dca430,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942a3a80,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942a3ab0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689510d9b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "path_get_vertex_uuids": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689510d9b0,                                                 ),                                             ],                                         },                                         expected_repr: "'path_get_vertex_uuids'",                                         name: "literal['path_get_vertex_uuids']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['path_get_vertex_uuids']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "path_get_vertex_uuids",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cf8e00,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "path_get_vertex_uuids",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, path_id: str, type: Literal['path_get_vertex_uuids'] = 'path_get_vertex_uuids') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'path_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['path_get_vertex_uuids'], required=False, default='path_get_vertex_uuids')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

path_id: str[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['path_get_vertex_uuids'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.plane_intersect_and_project(**data)[source][source]

Utility method. Performs both a ray cast and projection to plane-local coordinates. Returns the plane coordinates for the given window coordinates.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'plane_id': <class 'str'>, 'type': typing.Literal['plane_intersect_and_project'], 'window': <class 'kittycad.models.point2d.Point2d'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.plane_intersect_and_project'>, 'config': {'title': 'plane_intersect_and_project'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.plane_intersect_and_project'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.plane_intersect_and_project'>>]}, 'ref': 'kittycad.models.modeling_cmd.plane_intersect_and_project:94192505275200', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'plane_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'plane_intersect_and_project', 'schema': {'expected': ['plane_intersect_and_project'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'plane_intersect_and_project', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d14340,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511b1e0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "plane_intersect_and_project",                                             },                                             expected_py: None,                                             name: "literal['plane_intersect_and_project']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "window": SerField {                         key_py: Py(                             0x00007f6898854900,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                     "plane_id": SerField {                         key_py: Py(                             0x00007f68944e4af0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "plane_intersect_and_project",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="plane_intersect_and_project", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "plane_id",                         lookup_key: Simple {                             key: "plane_id",                             py_key: Py(                                 0x00007f68942c3ab0,                             ),                             path: LookupPath(                                 [                                     S(                                         "plane_id",                                         Py(                                             0x00007f68942c3a70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e4af0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942cd4a0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942cd500,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511b1e0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "plane_intersect_and_project": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511b1e0,                                                 ),                                             ],                                         },                                         expected_repr: "'plane_intersect_and_project'",                                         name: "literal['plane_intersect_and_project']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['plane_intersect_and_project']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "window",                         lookup_key: Simple {                             key: "window",                             py_key: Py(                                 0x00007f68942cd560,                             ),                             path: LookupPath(                                 [                                     S(                                         "window",                                         Py(                                             0x00007f68942cd590,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898854900,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f68942c3a00,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f68942c3a00,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "plane_intersect_and_project",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d14340,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "plane_intersect_and_project",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, plane_id: str, type: Literal['plane_intersect_and_project'] = 'plane_intersect_and_project', window: kittycad.models.point2d.Point2d) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'plane_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['plane_intersect_and_project'], required=False, default='plane_intersect_and_project'), 'window': FieldInfo(annotation=Point2d, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

plane_id: str[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['plane_intersect_and_project'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

window: Point2d[source]
class kittycad.models.modeling_cmd.plane_set_color(**data)[source][source]

Set the color of a plane.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'color': <class 'kittycad.models.color.Color'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'plane_id': <class 'str'>, 'type': typing.Literal['plane_set_color']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.plane_set_color'>, 'config': {'title': 'plane_set_color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.plane_set_color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.plane_set_color'>>]}, 'ref': 'kittycad.models.modeling_cmd.plane_set_color:94192504878928', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.color.Color'>, 'config': {'title': 'Color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.color.Color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.color.Color'>>]}, 'ref': 'kittycad.models.color.Color:94192493857760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'a': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'b': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'g': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'r': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Color', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'plane_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'plane_set_color', 'schema': {'expected': ['plane_set_color'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'plane_set_color', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cb3750,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "color": SerField {                         key_py: Py(                             0x00007f68a691a010,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6230be0,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "r": SerField {                                                     key_py: Py(                                                         0x00007f68a783c570,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "b": SerField {                                                     key_py: Py(                                                         0x00007f68a78381d0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "a": SerField {                                                     key_py: Py(                                                         0x00007f68a7837db0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "g": SerField {                                                     key_py: Py(                                                         0x00007f68a783f2f8,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 4,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Color",                                 },                             ),                         ),                         required: true,                     },                     "plane_id": SerField {                         key_py: Py(                             0x00007f68944e4af0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e49b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "plane_set_color",                                             },                                             expected_py: None,                                             name: "literal['plane_set_color']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "plane_set_color",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="plane_set_color", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "color",                         lookup_key: Simple {                             key: "color",                             py_key: Py(                                 0x00007f689422cf00,                             ),                             path: LookupPath(                                 [                                     S(                                         "color",                                         Py(                                             0x00007f689422cf30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a691a010,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "a",                                                 lookup_key: Simple {                                                     key: "a",                                                     py_key: Py(                                                         0x00007f68a783f1d8,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "a",                                                                 Py(                                                                     0x00007f68a783f1d8,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a7837db0,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "b",                                                 lookup_key: Simple {                                                     key: "b",                                                     py_key: Py(                                                         0x00007f68a783f208,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "b",                                                                 Py(                                                                     0x00007f68a783f208,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a78381d0,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "g",                                                 lookup_key: Simple {                                                     key: "g",                                                     py_key: Py(                                                         0x00007f68a783f2f8,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "g",                                                                 Py(                                                                     0x00007f68a783f2f8,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f2f8,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "r",                                                 lookup_key: Simple {                                                     key: "r",                                                     py_key: Py(                                                         0x00007f68a783f508,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "r",                                                                 Py(                                                                     0x00007f68a783f508,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783c570,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Color",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6230be0,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Color",                             },                         ),                         frozen: false,                     },                     Field {                         name: "plane_id",                         lookup_key: Simple {                             key: "plane_id",                             py_key: Py(                                 0x00007f6894221d30,                             ),                             path: LookupPath(                                 [                                     S(                                         "plane_id",                                         Py(                                             0x00007f6894220bf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e4af0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689422cf60,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689422cf90,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e49b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "plane_set_color": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e49b0,                                                 ),                                             ],                                         },                                         expected_repr: "'plane_set_color'",                                         name: "literal['plane_set_color']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['plane_set_color']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "plane_set_color",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cb3750,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "plane_set_color",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, color: kittycad.models.color.Color, plane_id: str, type: Literal['plane_set_color'] = 'plane_set_color') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

color: Color[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'color': FieldInfo(annotation=Color, required=True), 'plane_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['plane_set_color'], required=False, default='plane_set_color')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

plane_id: str[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['plane_set_color'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.reconfigure_stream(**data)[source][source]

Reconfigure the stream.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'fps': <class 'int'>, 'height': <class 'int'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['reconfigure_stream'], 'width': <class 'int'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.reconfigure_stream'>, 'config': {'title': 'reconfigure_stream'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.reconfigure_stream'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.reconfigure_stream'>>]}, 'ref': 'kittycad.models.modeling_cmd.reconfigure_stream:94192505318272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'fps': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'height': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'reconfigure_stream', 'schema': {'expected': ['reconfigure_stream'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'width': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}}, 'model_name': 'reconfigure_stream', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d1eb80,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "width": SerField {                         key_py: Py(                             0x00007f68a710b1b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Int(                                 IntSerializer,                             ),                         ),                         required: true,                     },                     "fps": SerField {                         key_py: Py(                             0x00007f6897611ec0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Int(                                 IntSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e71f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "reconfigure_stream",                                             },                                             expected_py: None,                                             name: "literal['reconfigure_stream']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "height": SerField {                         key_py: Py(                             0x00007f68a630c540,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Int(                                 IntSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "reconfigure_stream",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="reconfigure_stream", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "fps",                         lookup_key: Simple {                             key: "fps",                             py_key: Py(                                 0x00007f68942dc7e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "fps",                                         Py(                                             0x00007f68942dc810,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6897611ec0,                         ),                         validator: Int(                             IntValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "height",                         lookup_key: Simple {                             key: "height",                             py_key: Py(                                 0x00007f68942dc840,                             ),                             path: LookupPath(                                 [                                     S(                                         "height",                                         Py(                                             0x00007f68942dc870,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a630c540,                         ),                         validator: Int(                             IntValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942dc8a0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942dc8d0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e71f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "reconfigure_stream": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e71f0,                                                 ),                                             ],                                         },                                         expected_repr: "'reconfigure_stream'",                                         name: "literal['reconfigure_stream']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['reconfigure_stream']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "width",                         lookup_key: Simple {                             key: "width",                             py_key: Py(                                 0x00007f68942dc900,                             ),                             path: LookupPath(                                 [                                     S(                                         "width",                                         Py(                                             0x00007f68942dc930,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a710b1b0,                         ),                         validator: Int(                             IntValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                 ],                 model_name: "reconfigure_stream",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d1eb80,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "reconfigure_stream",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, fps: int, height: int, type: Literal['reconfigure_stream'] = 'reconfigure_stream', width: int) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

fps: int[source]
classmethod from_orm(obj)[source]
Return type:

Self

height: int[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'fps': FieldInfo(annotation=int, required=True), 'height': FieldInfo(annotation=int, required=True), 'type': FieldInfo(annotation=Literal['reconfigure_stream'], required=False, default='reconfigure_stream'), 'width': FieldInfo(annotation=int, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['reconfigure_stream'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

width: int[source]
class kittycad.models.modeling_cmd.remove_scene_objects(**data)[source][source]

Remove scene objects.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_ids': typing.List[str], 'type': typing.Literal['remove_scene_objects']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.remove_scene_objects'>, 'config': {'title': 'remove_scene_objects'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.remove_scene_objects'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.remove_scene_objects'>>]}, 'ref': 'kittycad.models.modeling_cmd.remove_scene_objects:94192505255744', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'remove_scene_objects', 'schema': {'expected': ['remove_scene_objects'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'remove_scene_objects', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d0f740,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "object_ids": SerField {                         key_py: Py(                             0x00007f68944e6db0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e6cf0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "remove_scene_objects",                                             },                                             expected_py: None,                                             name: "literal['remove_scene_objects']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "remove_scene_objects",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="remove_scene_objects", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "object_ids",                         lookup_key: Simple {                             key: "object_ids",                             py_key: Py(                                 0x00007f68942c1e70,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_ids",                                         Py(                                             0x00007f68942c1f30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e6db0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942bf7e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942bf750,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e6cf0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "remove_scene_objects": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e6cf0,                                                 ),                                             ],                                         },                                         expected_repr: "'remove_scene_objects'",                                         name: "literal['remove_scene_objects']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['remove_scene_objects']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "remove_scene_objects",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d0f740,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "remove_scene_objects",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, object_ids: List[str], type: Literal['remove_scene_objects'] = 'remove_scene_objects') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'object_ids': FieldInfo(annotation=List[str], required=True), 'type': FieldInfo(annotation=Literal['remove_scene_objects'], required=False, default='remove_scene_objects')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_ids: List[str][source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['remove_scene_objects'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.revolve(**data)[source][source]

Command for revolving a solid 2d.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'angle': <class 'kittycad.models.angle.Angle'>, 'axis': <class 'kittycad.models.point3d.Point3d'>, 'axis_is_2d': <class 'bool'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'origin': <class 'kittycad.models.point3d.Point3d'>, 'target': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'tolerance': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': typing.Literal['revolve']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.revolve'>, 'config': {'title': 'revolve'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.revolve'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.revolve'>>]}, 'ref': 'kittycad.models.modeling_cmd.revolve:94192504123024', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'angle': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.angle.Angle'>, 'config': {'title': 'Angle'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.angle.Angle'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.angle.Angle'>>]}, 'ref': 'kittycad.models.angle.Angle:94192496883040', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitAngle'>, 'members': [UnitAngle.DEGREES, UnitAngle.RADIANS], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_angle.UnitAngle:94192496658640', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'value': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Angle', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'axis_is_2d': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'origin': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'target': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'tolerance': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'revolve', 'schema': {'expected': ['revolve'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'revolve', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6bfae90,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "origin": SerField {                         key_py: Py(                             0x00007f68a783bec0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                     "axis_is_2d": SerField {                         key_py: Py(                             0x00007f689449f430,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "target": SerField {                         key_py: Py(                             0x00007f68a783d540,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "tolerance": SerField {                         key_py: Py(                             0x00007f68972c4b30,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "axis": SerField {                         key_py: Py(                             0x00007f68a6005320,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Recursive(                                 DefinitionRefSerializer {                                     definition: "...",                                     retry_with_lax_check: true,                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944992c0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "revolve",                                             },                                             expected_py: None,                                             name: "literal['revolve']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "angle": SerField {                         key_py: Py(                             0x00007f68a595d560,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6513560,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "unit": SerField {                                                     key_py: Py(                                                         0x00007f68a600aee0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Enum(                                                             EnumSerializer {                                                                 class: Py(                                                                     0x000055aae64dc8d0,                                                                 ),                                                                 serializer: Some(                                                                     Str(                                                                         StrSerializer,                                                                     ),                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "value": SerField {                                                     key_py: Py(                                                         0x00007f68a783dc20,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Angle",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 7,             },         ),         has_extra: false,         root_model: false,         name: "revolve",     }, ), definitions=[Model(ModelSerializer { class: Py(0x55aae6232b70), serializer: Fields(GeneralFieldsSerializer { fields: {"y": SerField { key_py: Py(0x7f68a783f658), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "z": SerField { key_py: Py(0x7f68a783f688), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "x": SerField { key_py: Py(0x7f68a783df18), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Point3d" })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="revolve", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "angle",                         lookup_key: Simple {                             key: "angle",                             py_key: Py(                                 0x00007f68944bed60,                             ),                             path: LookupPath(                                 [                                     S(                                         "angle",                                         Py(                                             0x00007f68944bed90,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a595d560,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "unit",                                                 lookup_key: Simple {                                                     key: "unit",                                                     py_key: Py(                                                         0x00007f68944beca0,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "unit",                                                                 Py(                                                                     0x00007f68944becd0,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a600aee0,                                                 ),                                                 validator: StrEnum(                                                     EnumValidator {                                                         phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                         class: Py(                                                             0x000055aae64dc8d0,                                                         ),                                                         lookup: LiteralLookup {                                                             expected_bool: None,                                                             expected_int: None,                                                             expected_str: Some(                                                                 {                                                                     "radians": 1,                                                                     "degrees": 0,                                                                 },                                                             ),                                                             expected_py_dict: None,                                                             expected_py_values: None,                                                             values: [                                                                 Py(                                                                     0x00007f6894d6e990,                                                                 ),                                                                 Py(                                                                     0x00007f6894d6e9f0,                                                                 ),                                                             ],                                                         },                                                         missing: None,                                                         expected_repr: "'degrees' or 'radians'",                                                         strict: false,                                                         class_repr: "UnitAngle",                                                         name: "str-enum[UnitAngle]",                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "value",                                                 lookup_key: Simple {                                                     key: "value",                                                     py_key: Py(                                                         0x00007f68944bed00,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "value",                                                                 Py(                                                                     0x00007f68944bed30,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783dc20,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Angle",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6513560,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Angle",                             },                         ),                         frozen: false,                     },                     Field {                         name: "axis",                         lookup_key: Simple {                             key: "axis",                             py_key: Py(                                 0x00007f68944bedc0,                             ),                             path: LookupPath(                                 [                                     S(                                         "axis",                                         Py(                                             0x00007f68944bedf0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a6005320,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "axis_is_2d",                         lookup_key: Simple {                             key: "axis_is_2d",                             py_key: Py(                                 0x00007f6896bdf6b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "axis_is_2d",                                         Py(                                             0x00007f689448c8f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689449f430,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "origin",                         lookup_key: Simple {                             key: "origin",                             py_key: Py(                                 0x00007f68944bee20,                             ),                             path: LookupPath(                                 [                                     S(                                         "origin",                                         Py(                                             0x00007f68944bee50,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783bec0,                         ),                         validator: DefinitionRef(                             DefinitionRefValidator {                                 definition: "...",                             },                         ),                         frozen: false,                     },                     Field {                         name: "target",                         lookup_key: Simple {                             key: "target",                             py_key: Py(                                 0x00007f68944bee80,                             ),                             path: LookupPath(                                 [                                     S(                                         "target",                                         Py(                                             0x00007f68944beeb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783d540,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 func: Py(                                     0x000055aae6b72810,                                 ),                                 config: Py(                                     0x00007f689448c840,                                 ),                                 name: "function-after[ModelingCmdId(), str]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "tolerance",                         lookup_key: Simple {                             key: "tolerance",                             py_key: Py(                                 0x00007f689448f7f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "tolerance",                                         Py(                                             0x00007f689448f070,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68972c4b30,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 func: Py(                                     0x000055aae636ccf0,                                 ),                                 config: Py(                                     0x00007f689448c840,                                 ),                                 name: "function-after[LengthUnit(), float]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944beee0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944bef10,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944992c0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "revolve": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944992c0,                                                 ),                                             ],                                         },                                         expected_repr: "'revolve'",                                         name: "literal['revolve']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['revolve']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "revolve",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6bfae90,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "revolve",     }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f68a783f628), path: LookupPath([S("x", Py(0x7f68a783f628))]) }, name_py: Py(0x7f68a783df18), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f68a783f658), path: LookupPath([S("y", Py(0x7f68a783f658))]) }, name_py: Py(0x7f68a783f658), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f68a783f688), path: LookupPath([S("z", Py(0x7f68a783f688))]) }, name_py: Py(0x7f68a783f688), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Point3d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6232b70), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "Point3d" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, angle: kittycad.models.angle.Angle, axis: kittycad.models.point3d.Point3d, axis_is_2d: bool, origin: kittycad.models.point3d.Point3d, target: kittycad.models.modeling_cmd_id.ModelingCmdId, tolerance: kittycad.models.length_unit.LengthUnit, type: Literal['revolve'] = 'revolve') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

angle: Angle[source]
axis: Point3d[source]
axis_is_2d: bool[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'angle': FieldInfo(annotation=Angle, required=True), 'axis': FieldInfo(annotation=Point3d, required=True), 'axis_is_2d': FieldInfo(annotation=bool, required=True), 'origin': FieldInfo(annotation=Point3d, required=True), 'target': FieldInfo(annotation=ModelingCmdId, required=True), 'tolerance': FieldInfo(annotation=LengthUnit, required=True), 'type': FieldInfo(annotation=Literal['revolve'], required=False, default='revolve')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

origin: Point3d[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

target: ModelingCmdId[source]
tolerance: LengthUnit[source]
type: Literal['revolve'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.revolve_about_edge(**data)[source][source]

Command for revolving a solid 2d about a brep edge

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'angle': <class 'kittycad.models.angle.Angle'>, 'edge_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'target': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'tolerance': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': typing.Literal['revolve_about_edge']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.revolve_about_edge'>, 'config': {'title': 'revolve_about_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.revolve_about_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.revolve_about_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.revolve_about_edge:94192504164528', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'angle': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.angle.Angle'>, 'config': {'title': 'Angle'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.angle.Angle'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.angle.Angle'>>]}, 'ref': 'kittycad.models.angle.Angle:94192496883040', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitAngle'>, 'members': [UnitAngle.DEGREES, UnitAngle.RADIANS], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_angle.UnitAngle:94192496658640', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'value': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Angle', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'target': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'tolerance': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'revolve_about_edge', 'schema': {'expected': ['revolve_about_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'revolve_about_edge', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c050b0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "edge_id": SerField {                         key_py: Py(                             0x00007f6894499b00,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "angle": SerField {                         key_py: Py(                             0x00007f68a595d560,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6513560,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "value": SerField {                                                     key_py: Py(                                                         0x00007f68a783dc20,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "unit": SerField {                                                     key_py: Py(                                                         0x00007f68a600aee0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Enum(                                                             EnumSerializer {                                                                 class: Py(                                                                     0x000055aae64dc8d0,                                                                 ),                                                                 serializer: Some(                                                                     Str(                                                                         StrSerializer,                                                                     ),                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Angle",                                 },                             ),                         ),                         required: true,                     },                     "target": SerField {                         key_py: Py(                             0x00007f68a783d540,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944a77f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "revolve_about_edge",                                             },                                             expected_py: None,                                             name: "literal['revolve_about_edge']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "tolerance": SerField {                         key_py: Py(                             0x00007f68972c4b30,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 5,             },         ),         has_extra: false,         root_model: false,         name: "revolve_about_edge",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="revolve_about_edge", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "angle",                         lookup_key: Simple {                             key: "angle",                             py_key: Py(                                 0x00007f68944e0810,                             ),                             path: LookupPath(                                 [                                     S(                                         "angle",                                         Py(                                             0x00007f68944e0840,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a595d560,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "unit",                                                 lookup_key: Simple {                                                     key: "unit",                                                     py_key: Py(                                                         0x00007f68944e0750,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "unit",                                                                 Py(                                                                     0x00007f68944e0780,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a600aee0,                                                 ),                                                 validator: StrEnum(                                                     EnumValidator {                                                         phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                         class: Py(                                                             0x000055aae64dc8d0,                                                         ),                                                         lookup: LiteralLookup {                                                             expected_bool: None,                                                             expected_int: None,                                                             expected_str: Some(                                                                 {                                                                     "degrees": 0,                                                                     "radians": 1,                                                                 },                                                             ),                                                             expected_py_dict: None,                                                             expected_py_values: None,                                                             values: [                                                                 Py(                                                                     0x00007f6894d6e990,                                                                 ),                                                                 Py(                                                                     0x00007f6894d6e9f0,                                                                 ),                                                             ],                                                         },                                                         missing: None,                                                         expected_repr: "'degrees' or 'radians'",                                                         strict: false,                                                         class_repr: "UnitAngle",                                                         name: "str-enum[UnitAngle]",                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "value",                                                 lookup_key: Simple {                                                     key: "value",                                                     py_key: Py(                                                         0x00007f68944e07b0,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "value",                                                                 Py(                                                                     0x00007f68944e07e0,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783dc20,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Angle",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6513560,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Angle",                             },                         ),                         frozen: false,                     },                     Field {                         name: "edge_id",                         lookup_key: Simple {                             key: "edge_id",                             py_key: Py(                                 0x00007f68944e0870,                             ),                             path: LookupPath(                                 [                                     S(                                         "edge_id",                                         Py(                                             0x00007f68944e08a0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894499b00,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "target",                         lookup_key: Simple {                             key: "target",                             py_key: Py(                                 0x00007f68944e08d0,                             ),                             path: LookupPath(                                 [                                     S(                                         "target",                                         Py(                                             0x00007f68944e0900,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783d540,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 func: Py(                                     0x000055aae6b72810,                                 ),                                 config: Py(                                     0x00007f689448efc0,                                 ),                                 name: "function-after[ModelingCmdId(), str]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "tolerance",                         lookup_key: Simple {                             key: "tolerance",                             py_key: Py(                                 0x00007f689448eeb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "tolerance",                                         Py(                                             0x00007f689448ef70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68972c4b30,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 func: Py(                                     0x000055aae636ccf0,                                 ),                                 config: Py(                                     0x00007f689448efc0,                                 ),                                 name: "function-after[LengthUnit(), float]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944e0930,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944e0960,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944a77f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "revolve_about_edge": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944a77f0,                                                 ),                                             ],                                         },                                         expected_repr: "'revolve_about_edge'",                                         name: "literal['revolve_about_edge']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['revolve_about_edge']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "revolve_about_edge",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c050b0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "revolve_about_edge",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, angle: kittycad.models.angle.Angle, edge_id: str, target: kittycad.models.modeling_cmd_id.ModelingCmdId, tolerance: kittycad.models.length_unit.LengthUnit, type: Literal['revolve_about_edge'] = 'revolve_about_edge') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

angle: Angle[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

edge_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'angle': FieldInfo(annotation=Angle, required=True), 'edge_id': FieldInfo(annotation=str, required=True), 'target': FieldInfo(annotation=ModelingCmdId, required=True), 'tolerance': FieldInfo(annotation=LengthUnit, required=True), 'type': FieldInfo(annotation=Literal['revolve_about_edge'], required=False, default='revolve_about_edge')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

target: ModelingCmdId[source]
tolerance: LengthUnit[source]
type: Literal['revolve_about_edge'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.scene_clear_all(**data)[source][source]

Removes all of the Objects in the scene

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['scene_clear_all']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.scene_clear_all'>, 'config': {'title': 'scene_clear_all'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.scene_clear_all'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.scene_clear_all'>>]}, 'ref': 'kittycad.models.modeling_cmd.scene_clear_all:94192504377936', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'scene_clear_all', 'schema': {'expected': ['scene_clear_all'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'scene_clear_all', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c39250,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944ba130,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "scene_clear_all",                                             },                                             expected_py: None,                                             name: "literal['scene_clear_all']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 1,             },         ),         has_extra: false,         root_model: false,         name: "scene_clear_all",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="scene_clear_all", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894394d80,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894394db0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944ba130,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "scene_clear_all": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944ba130,                                                 ),                                             ],                                         },                                         expected_repr: "'scene_clear_all'",                                         name: "literal['scene_clear_all']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['scene_clear_all']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "scene_clear_all",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c39250,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "scene_clear_all",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['scene_clear_all'] = 'scene_clear_all') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['scene_clear_all'], required=False, default='scene_clear_all')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['scene_clear_all'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.select_add(**data)[source][source]

Adds one or more entities (by UUID) to the selection.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entities': typing.List[str], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['select_add']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.select_add'>, 'config': {'title': 'select_add'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_add'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_add'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_add:94192504348064', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_add', 'schema': {'expected': ['select_add'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_add', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c31da0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "entities": SerField {                         key_py: Py(                             0x00007f689893e9b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944b9f30,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "select_add",                                             },                                             expected_py: None,                                             name: "literal['select_add']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "select_add",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="select_add", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entities",                         lookup_key: Simple {                             key: "entities",                             py_key: Py(                                 0x00007f68943896f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entities",                                         Py(                                             0x00007f68943895b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689893e9b0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689437a760,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689437a6d0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944b9f30,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "select_add": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944b9f30,                                                 ),                                             ],                                         },                                         expected_repr: "'select_add'",                                         name: "literal['select_add']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['select_add']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "select_add",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c31da0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "select_add",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entities: List[str], type: Literal['select_add'] = 'select_add') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entities: List[str][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entities': FieldInfo(annotation=List[str], required=True), 'type': FieldInfo(annotation=Literal['select_add'], required=False, default='select_add')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['select_add'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.select_clear(**data)[source][source]

Clear the selection

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['select_clear']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.select_clear'>, 'config': {'title': 'select_clear'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_clear'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_clear'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_clear:94192505614672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_clear', 'schema': {'expected': ['select_clear'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_clear', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_focus_on': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_orthographic': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_perspective': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_exit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_filter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_extrusion_face_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'view_isometric': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>, 'zoom_to_fit': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d67150,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68943308f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "select_clear",                                             },                                             expected_py: None,                                             name: "literal['select_clear']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 1,             },         ),         has_extra: false,         root_model: false,         name: "select_clear",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="select_clear", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894137930,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894137960,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68943308f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "select_clear": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68943308f0,                                                 ),                                             ],                                         },                                         expected_repr: "'select_clear'",                                         name: "literal['select_clear']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['select_clear']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "select_clear",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d67150,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "select_clear",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['select_clear'] = 'select_clear') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['select_clear'], required=False, default='select_clear')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['select_clear'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.select_get(**data)[source][source]

Find all IDs of selected entities

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['select_get']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.select_get'>, 'config': {'title': 'select_get'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_get'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_get'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_get:94192505627392', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_get', 'schema': {'expected': ['select_get'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_get', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_focus_on': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_orthographic': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_perspective': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_exit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_clear': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_filter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_extrusion_face_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'view_isometric': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>, 'zoom_to_fit': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d6a300,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689510e770,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "select_get",                                             },                                             expected_py: None,                                             name: "literal['select_get']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 1,             },         ),         has_extra: false,         root_model: false,         name: "select_get",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="select_get", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894139170,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68941391a0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689510e770,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "select_get": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689510e770,                                                 ),                                             ],                                         },                                         expected_repr: "'select_get'",                                         name: "literal['select_get']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['select_get']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "select_get",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d6a300,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "select_get",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['select_get'] = 'select_get') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['select_get'], required=False, default='select_get')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['select_get'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.select_remove(**data)[source][source]

Removes one or more entities (by UUID) from the selection.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entities': typing.List[str], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['select_remove']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.select_remove'>, 'config': {'title': 'select_remove'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_remove'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_remove'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_remove:94192504367376', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_remove', 'schema': {'expected': ['select_remove'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_remove', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c36910,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944ba030,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "select_remove",                                             },                                             expected_py: None,                                             name: "literal['select_remove']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "entities": SerField {                         key_py: Py(                             0x00007f689893e9b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "select_remove",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="select_remove", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entities",                         lookup_key: Simple {                             key: "entities",                             py_key: Py(                                 0x00007f689455a8f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "entities",                                         Py(                                             0x00007f689438a1f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689893e9b0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689437ba50,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689437b9c0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944ba030,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "select_remove": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944ba030,                                                 ),                                             ],                                         },                                         expected_repr: "'select_remove'",                                         name: "literal['select_remove']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['select_remove']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "select_remove",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c36910,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "select_remove",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entities: List[str], type: Literal['select_remove'] = 'select_remove') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entities: List[str][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entities': FieldInfo(annotation=List[str], required=True), 'type': FieldInfo(annotation=Literal['select_remove'], required=False, default='select_remove')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['select_remove'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.select_replace(**data)[source][source]

Replaces current selection with these entities (by UUID).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entities': typing.List[str], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['select_replace']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.select_replace'>, 'config': {'title': 'select_replace'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_replace'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_replace'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_replace:94192504388768', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_replace', 'schema': {'expected': ['select_replace'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_replace', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c3bca0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "entities": SerField {                         key_py: Py(                             0x00007f689893e9b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944ba2b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "select_replace",                                             },                                             expected_py: None,                                             name: "literal['select_replace']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "select_replace",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="select_replace", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entities",                         lookup_key: Simple {                             key: "entities",                             py_key: Py(                                 0x00007f6894398070,                             ),                             path: LookupPath(                                 [                                     S(                                         "entities",                                         Py(                                             0x00007f6894398030,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689893e9b0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943960a0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894396010,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944ba2b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "select_replace": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944ba2b0,                                                 ),                                             ],                                         },                                         expected_repr: "'select_replace'",                                         name: "literal['select_replace']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['select_replace']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "select_replace",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c3bca0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "select_replace",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entities: List[str], type: Literal['select_replace'] = 'select_replace') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entities: List[str][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entities': FieldInfo(annotation=List[str], required=True), 'type': FieldInfo(annotation=Literal['select_replace'], required=False, default='select_replace')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['select_replace'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.select_with_point(**data)[source][source]

Modifies the selection by simulating a “mouse click” at the given x,y window coordinate Returns ID of whatever was selected.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'selected_at_window': <class 'kittycad.models.point2d.Point2d'>, 'selection_type': <enum 'SceneSelectionType'>, 'type': typing.Literal['select_with_point']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.select_with_point'>, 'config': {'title': 'select_with_point'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_with_point'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_with_point'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_with_point:94192504338112', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'selected_at_window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'selection_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'SceneSelectionType'>, 'members': [SceneSelectionType.REPLACE, SceneSelectionType.ADD, SceneSelectionType.REMOVE], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.scene_selection_type.SceneSelectionType:94192504010944', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_with_point', 'schema': {'expected': ['select_with_point'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_with_point', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c2f6c0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689510e830,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "select_with_point",                                             },                                             expected_py: None,                                             name: "literal['select_with_point']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "selection_type": SerField {                         key_py: Py(                             0x00007f68944b9d70,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae6bdf8c0,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "selected_at_window": SerField {                         key_py: Py(                             0x00007f68944b9d30,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6b03c20,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "x": SerField {                                                     key_py: Py(                                                         0x00007f68a783df18,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "y": SerField {                                                     key_py: Py(                                                         0x00007f68a783f658,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 2,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Point2d",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "select_with_point",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="select_with_point", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "selected_at_window",                         lookup_key: Simple {                             key: "selected_at_window",                             py_key: Py(                                 0x00007f6894388b70,                             ),                             path: LookupPath(                                 [                                     S(                                         "selected_at_window",                                         Py(                                             0x00007f6894388b30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b9d30,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "x",                                                 lookup_key: Simple {                                                     key: "x",                                                     py_key: Py(                                                         0x00007f68a783f628,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "x",                                                                 Py(                                                                     0x00007f68a783f628,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783df18,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894372600,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "y",                                                 lookup_key: Simple {                                                     key: "y",                                                     py_key: Py(                                                         0x00007f68a783f658,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "y",                                                                 Py(                                                                     0x00007f68a783f658,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f658,                                                 ),                                                 validator: FunctionAfter(                                                     FunctionAfterValidator {                                                         validator: Float(                                                             FloatValidator {                                                                 strict: false,                                                                 allow_inf_nan: true,                                                             },                                                         ),                                                         func: Py(                                                             0x000055aae636ccf0,                                                         ),                                                         config: Py(                                                             0x00007f6894372600,                                                         ),                                                         name: "function-after[LengthUnit(), float]",                                                         field_name: None,                                                         info_arg: false,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Point2d",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6b03c20,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Point2d",                             },                         ),                         frozen: false,                     },                     Field {                         name: "selection_type",                         lookup_key: Simple {                             key: "selection_type",                             py_key: Py(                                 0x00007f6894388bf0,                             ),                             path: LookupPath(                                 [                                     S(                                         "selection_type",                                         Py(                                             0x00007f6894388bb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b9d70,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae6bdf8c0,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "remove": 2,                                             "replace": 0,                                             "add": 1,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f6894453ef0,                                         ),                                         Py(                                             0x00007f6894453fb0,                                         ),                                         Py(                                             0x00007f68944f4050,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'replace', 'add' or 'remove'",                                 strict: false,                                 class_repr: "SceneSelectionType",                                 name: "str-enum[SceneSelectionType]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894379980,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894379a40,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689510e830,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "select_with_point": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689510e830,                                                 ),                                             ],                                         },                                         expected_repr: "'select_with_point'",                                         name: "literal['select_with_point']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['select_with_point']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "select_with_point",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c2f6c0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "select_with_point",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, selected_at_window: kittycad.models.point2d.Point2d, selection_type: kittycad.models.scene_selection_type.SceneSelectionType, type: Literal['select_with_point'] = 'select_with_point') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'selected_at_window': FieldInfo(annotation=Point2d, required=True), 'selection_type': FieldInfo(annotation=SceneSelectionType, required=True), 'type': FieldInfo(annotation=Literal['select_with_point'], required=False, default='select_with_point')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

selected_at_window: Point2d[source]
selection_type: SceneSelectionType[source]
type: Literal['select_with_point'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.send_object(**data)[source][source]

Send object to front or back.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'front': <class 'bool'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['send_object']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.send_object'>, 'config': {'title': 'send_object'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.send_object'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.send_object'>>]}, 'ref': 'kittycad.models.modeling_cmd.send_object:94192504824176', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'front': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'send_object', 'schema': {'expected': ['send_object'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'send_object', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6ca6170,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "front": SerField {                         key_py: Py(                             0x00007f68955401e0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Bool(                                 BoolSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e43f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "send_object",                                             },                                             expected_py: None,                                             name: "literal['send_object']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "send_object",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="send_object", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "front",                         lookup_key: Simple {                             key: "front",                             py_key: Py(                                 0x00007f6894213960,                             ),                             path: LookupPath(                                 [                                     S(                                         "front",                                         Py(                                             0x00007f6894213990,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68955401e0,                         ),                         validator: Bool(                             BoolValidator {                                 strict: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f689420e570,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f689420e530,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942139c0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942139f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e43f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "send_object": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e43f0,                                                 ),                                             ],                                         },                                         expected_repr: "'send_object'",                                         name: "literal['send_object']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['send_object']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "send_object",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6ca6170,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "send_object",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, front: bool, object_id: str, type: Literal['send_object'] = 'send_object') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

front: bool[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'front': FieldInfo(annotation=bool, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['send_object'], required=False, default='send_object')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['send_object'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.set_background_color(**data)[source][source]

Set the background color of the scene.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'color': <class 'kittycad.models.color.Color'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['set_background_color']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.set_background_color'>, 'config': {'title': 'set_background_color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_background_color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_background_color'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_background_color:94192505012592', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.color.Color'>, 'config': {'title': 'Color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.color.Color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.color.Color'>>]}, 'ref': 'kittycad.models.color.Color:94192493857760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'a': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'b': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'g': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'r': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Color', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_background_color', 'schema': {'expected': ['set_background_color'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_background_color', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cd4170,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e58b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "set_background_color",                                             },                                             expected_py: None,                                             name: "literal['set_background_color']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "color": SerField {                         key_py: Py(                             0x00007f68a691a010,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae6230be0,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "a": SerField {                                                     key_py: Py(                                                         0x00007f68a7837db0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "b": SerField {                                                     key_py: Py(                                                         0x00007f68a78381d0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "g": SerField {                                                     key_py: Py(                                                         0x00007f68a783f2f8,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "r": SerField {                                                     key_py: Py(                                                         0x00007f68a783c570,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         Float(                                                             FloatSerializer {                                                                 inf_nan_mode: Null,                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 4,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "Color",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "set_background_color",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="set_background_color", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "color",                         lookup_key: Simple {                             key: "color",                             py_key: Py(                                 0x00007f68942747e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "color",                                         Py(                                             0x00007f6894274810,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a691a010,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "a",                                                 lookup_key: Simple {                                                     key: "a",                                                     py_key: Py(                                                         0x00007f68a783f1d8,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "a",                                                                 Py(                                                                     0x00007f68a783f1d8,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a7837db0,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "b",                                                 lookup_key: Simple {                                                     key: "b",                                                     py_key: Py(                                                         0x00007f68a783f208,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "b",                                                                 Py(                                                                     0x00007f68a783f208,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a78381d0,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "g",                                                 lookup_key: Simple {                                                     key: "g",                                                     py_key: Py(                                                         0x00007f68a783f2f8,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "g",                                                                 Py(                                                                     0x00007f68a783f2f8,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783f2f8,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "r",                                                 lookup_key: Simple {                                                     key: "r",                                                     py_key: Py(                                                         0x00007f68a783f508,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "r",                                                                 Py(                                                                     0x00007f68a783f508,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783c570,                                                 ),                                                 validator: Float(                                                     FloatValidator {                                                         strict: false,                                                         allow_inf_nan: true,                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "Color",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae6230be0,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "Color",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894274840,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894274870,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e58b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "set_background_color": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e58b0,                                                 ),                                             ],                                         },                                         expected_repr: "'set_background_color'",                                         name: "literal['set_background_color']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['set_background_color']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "set_background_color",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cd4170,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "set_background_color",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, color: kittycad.models.color.Color, type: Literal['set_background_color'] = 'set_background_color') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

color: Color[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'color': FieldInfo(annotation=Color, required=True), 'type': FieldInfo(annotation=Literal['set_background_color'], required=False, default='set_background_color')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['set_background_color'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.set_current_tool_properties(**data)[source][source]

Set the properties of the tool lines for the scene.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'color': typing.Optional[kittycad.models.color.Color], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['set_current_tool_properties']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.set_current_tool_properties'>, 'config': {'title': 'set_current_tool_properties'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_current_tool_properties'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_current_tool_properties'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_current_tool_properties:94192505045920', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.color.Color'>, 'config': {'title': 'Color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.color.Color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.color.Color'>>]}, 'ref': 'kittycad.models.color.Color:94192493857760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'a': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'b': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'g': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'r': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Color', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_current_tool_properties', 'schema': {'expected': ['set_current_tool_properties'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_current_tool_properties', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cdc3a0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "color": SerField {                         key_py: Py(                             0x00007f68a691a010,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Model(                                                 ModelSerializer {                                                     class: Py(                                                         0x000055aae6230be0,                                                     ),                                                     serializer: Fields(                                                         GeneralFieldsSerializer {                                                             fields: {                                                                 "b": SerField {                                                                     key_py: Py(                                                                         0x00007f68a78381d0,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "a": SerField {                                                                     key_py: Py(                                                                         0x00007f68a7837db0,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "g": SerField {                                                                     key_py: Py(                                                                         0x00007f68a783f2f8,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "r": SerField {                                                                     key_py: Py(                                                                         0x00007f68a783c570,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                             },                                                             computed_fields: Some(                                                                 ComputedFields(                                                                     [],                                                                 ),                                                             ),                                                             mode: SimpleDict,                                                             extra_serializer: None,                                                             filter: SchemaFilter {                                                                 include: None,                                                                 exclude: None,                                                             },                                                             required_fields: 4,                                                         },                                                     ),                                                     has_extra: false,                                                     root_model: false,                                                     name: "Color",                                                 },                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e8170,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "set_current_tool_properties",                                             },                                             expected_py: None,                                             name: "literal['set_current_tool_properties']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "set_current_tool_properties",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="set_current_tool_properties", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "color",                         lookup_key: Simple {                             key: "color",                             py_key: Py(                                 0x00007f68942759b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "color",                                         Py(                                             0x00007f68942759e0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a691a010,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Model(                                             ModelValidator {                                                 revalidate: Never,                                                 validator: ModelFields(                                                     ModelFieldsValidator {                                                         fields: [                                                             Field {                                                                 name: "a",                                                                 lookup_key: Simple {                                                                     key: "a",                                                                     py_key: Py(                                                                         0x00007f68a783f1d8,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "a",                                                                                 Py(                                                                                     0x00007f68a783f1d8,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a7837db0,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "b",                                                                 lookup_key: Simple {                                                                     key: "b",                                                                     py_key: Py(                                                                         0x00007f68a783f208,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "b",                                                                                 Py(                                                                                     0x00007f68a783f208,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a78381d0,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "g",                                                                 lookup_key: Simple {                                                                     key: "g",                                                                     py_key: Py(                                                                         0x00007f68a783f2f8,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "g",                                                                                 Py(                                                                                     0x00007f68a783f2f8,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a783f2f8,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "r",                                                                 lookup_key: Simple {                                                                     key: "r",                                                                     py_key: Py(                                                                         0x00007f68a783f508,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "r",                                                                                 Py(                                                                                     0x00007f68a783f508,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a783c570,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                         ],                                                         model_name: "Color",                                                         extra_behavior: Ignore,                                                         extras_validator: None,                                                         strict: false,                                                         from_attributes: false,                                                         loc_by_alias: true,                                                     },                                                 ),                                                 class: Py(                                                     0x000055aae6230be0,                                                 ),                                                 post_init: None,                                                 frozen: false,                                                 custom_init: false,                                                 root_model: false,                                                 undefined: Py(                                                     0x00007f6896b91e70,                                                 ),                                                 name: "Color",                                             },                                         ),                                         name: "nullable[Color]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[Color]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894275a10,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894275a40,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e8170,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "set_current_tool_properties": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e8170,                                                 ),                                             ],                                         },                                         expected_repr: "'set_current_tool_properties'",                                         name: "literal['set_current_tool_properties']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['set_current_tool_properties']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "set_current_tool_properties",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cdc3a0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "set_current_tool_properties",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, color: Optional[kittycad.models.color.Color] = None, type: Literal['set_current_tool_properties'] = 'set_current_tool_properties') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

color: Optional[Color][source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'color': FieldInfo(annotation=Union[Color, NoneType], required=False, default=None), 'type': FieldInfo(annotation=Literal['set_current_tool_properties'], required=False, default='set_current_tool_properties')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['set_current_tool_properties'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.set_default_system_properties(**data)[source][source]

Set the default system properties used when a specific property isn’t set.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'color': typing.Optional[kittycad.models.color.Color], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['set_default_system_properties']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.set_default_system_properties'>, 'config': {'title': 'set_default_system_properties'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_default_system_properties'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_default_system_properties'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_default_system_properties:94192505068608', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.color.Color'>, 'config': {'title': 'Color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.color.Color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.color.Color'>>]}, 'ref': 'kittycad.models.color.Color:94192493857760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'a': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'b': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'g': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'r': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Color', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_default_system_properties', 'schema': {'expected': ['set_default_system_properties'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_default_system_properties', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6ce1c40,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e8260,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "set_default_system_properties",                                             },                                             expected_py: None,                                             name: "literal['set_default_system_properties']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "color": SerField {                         key_py: Py(                             0x00007f68a691a010,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Model(                                                 ModelSerializer {                                                     class: Py(                                                         0x000055aae6230be0,                                                     ),                                                     serializer: Fields(                                                         GeneralFieldsSerializer {                                                             fields: {                                                                 "r": SerField {                                                                     key_py: Py(                                                                         0x00007f68a783c570,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "a": SerField {                                                                     key_py: Py(                                                                         0x00007f68a7837db0,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "g": SerField {                                                                     key_py: Py(                                                                         0x00007f68a783f2f8,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "b": SerField {                                                                     key_py: Py(                                                                         0x00007f68a78381d0,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                             },                                                             computed_fields: Some(                                                                 ComputedFields(                                                                     [],                                                                 ),                                                             ),                                                             mode: SimpleDict,                                                             extra_serializer: None,                                                             filter: SchemaFilter {                                                                 include: None,                                                                 exclude: None,                                                             },                                                             required_fields: 4,                                                         },                                                     ),                                                     has_extra: false,                                                     root_model: false,                                                     name: "Color",                                                 },                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "set_default_system_properties",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="set_default_system_properties", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "color",                         lookup_key: Simple {                             key: "color",                             py_key: Py(                                 0x00007f68942773c0,                             ),                             path: LookupPath(                                 [                                     S(                                         "color",                                         Py(                                             0x00007f68942773f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a691a010,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Model(                                             ModelValidator {                                                 revalidate: Never,                                                 validator: ModelFields(                                                     ModelFieldsValidator {                                                         fields: [                                                             Field {                                                                 name: "a",                                                                 lookup_key: Simple {                                                                     key: "a",                                                                     py_key: Py(                                                                         0x00007f68a783f1d8,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "a",                                                                                 Py(                                                                                     0x00007f68a783f1d8,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a7837db0,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "b",                                                                 lookup_key: Simple {                                                                     key: "b",                                                                     py_key: Py(                                                                         0x00007f68a783f208,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "b",                                                                                 Py(                                                                                     0x00007f68a783f208,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a78381d0,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "g",                                                                 lookup_key: Simple {                                                                     key: "g",                                                                     py_key: Py(                                                                         0x00007f68a783f2f8,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "g",                                                                                 Py(                                                                                     0x00007f68a783f2f8,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a783f2f8,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "r",                                                                 lookup_key: Simple {                                                                     key: "r",                                                                     py_key: Py(                                                                         0x00007f68a783f508,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "r",                                                                                 Py(                                                                                     0x00007f68a783f508,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a783c570,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                         ],                                                         model_name: "Color",                                                         extra_behavior: Ignore,                                                         extras_validator: None,                                                         strict: false,                                                         from_attributes: false,                                                         loc_by_alias: true,                                                     },                                                 ),                                                 class: Py(                                                     0x000055aae6230be0,                                                 ),                                                 post_init: None,                                                 frozen: false,                                                 custom_init: false,                                                 root_model: false,                                                 undefined: Py(                                                     0x00007f6896b91e70,                                                 ),                                                 name: "Color",                                             },                                         ),                                         name: "nullable[Color]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[Color]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894277420,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894277450,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e8260,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "set_default_system_properties": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e8260,                                                 ),                                             ],                                         },                                         expected_repr: "'set_default_system_properties'",                                         name: "literal['set_default_system_properties']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['set_default_system_properties']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "set_default_system_properties",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6ce1c40,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "set_default_system_properties",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, color: Optional[kittycad.models.color.Color] = None, type: Literal['set_default_system_properties'] = 'set_default_system_properties') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

color: Optional[Color][source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'color': FieldInfo(annotation=Union[Color, NoneType], required=False, default=None), 'type': FieldInfo(annotation=Literal['set_default_system_properties'], required=False, default='set_default_system_properties')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['set_default_system_properties'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.set_scene_units(**data)[source][source]

Set the units of the scene. For all following commands, the units will be interpreted as the given units.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['set_scene_units'], 'unit': <enum 'UnitLength'>}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.set_scene_units'>, 'config': {'title': 'set_scene_units'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_scene_units'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_scene_units'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_scene_units:94192505331776', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_scene_units', 'schema': {'expected': ['set_scene_units'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitLength'>, 'members': [UnitLength.CM, UnitLength.FT, UnitLength.IN, UnitLength.M, UnitLength.MM, UnitLength.YD], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_length.UnitLength:94192499221680', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}}, 'model_name': 'set_scene_units', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d22040,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "unit": SerField {                         key_py: Py(                             0x00007f68a600aee0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae674e4b0,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e74b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "set_scene_units",                                             },                                             expected_py: None,                                             name: "literal['set_scene_units']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "set_scene_units",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="set_scene_units", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942e4540,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942e4660,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e74b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "set_scene_units": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e74b0,                                                 ),                                             ],                                         },                                         expected_repr: "'set_scene_units'",                                         name: "literal['set_scene_units']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['set_scene_units']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "unit",                         lookup_key: Simple {                             key: "unit",                             py_key: Py(                                 0x00007f68942e4690,                             ),                             path: LookupPath(                                 [                                     S(                                         "unit",                                         Py(                                             0x00007f68942e46c0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a600aee0,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae674e4b0,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "in": 2,                                             "m": 3,                                             "mm": 4,                                             "cm": 0,                                             "ft": 1,                                             "yd": 5,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f6894dbdaf0,                                         ),                                         Py(                                             0x00007f6894dbdfd0,                                         ),                                         Py(                                             0x00007f6894dbe150,                                         ),                                         Py(                                             0x00007f6894dbe1b0,                                         ),                                         Py(                                             0x00007f6894dbe210,                                         ),                                         Py(                                             0x00007f6894dbe270,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'cm', 'ft', 'in', 'm', 'mm' or 'yd'",                                 strict: false,                                 class_repr: "UnitLength",                                 name: "str-enum[UnitLength]",                             },                         ),                         frozen: false,                     },                 ],                 model_name: "set_scene_units",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d22040,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "set_scene_units",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['set_scene_units'] = 'set_scene_units', unit: kittycad.models.unit_length.UnitLength) -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['set_scene_units'], required=False, default='set_scene_units'), 'unit': FieldInfo(annotation=UnitLength, required=True)}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['set_scene_units'][source]
unit: UnitLength[source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.set_selection_filter(**data)[source][source]

What kind of entities can be selected?

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'filter': typing.List[kittycad.models.entity_type.EntityType], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['set_selection_filter']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.set_selection_filter'>, 'config': {'title': 'set_selection_filter'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_selection_filter'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_selection_filter'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_selection_filter:94192505515440', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'filter': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'cls': <enum 'EntityType'>, 'members': [EntityType.ENTITY, EntityType.OBJECT, EntityType.PATH, EntityType.CURVE, EntityType.SOLID2D, EntityType.SOLID3D, EntityType.EDGE, EntityType.FACE, EntityType.PLANE, EntityType.VERTEX], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.entity_type.EntityType:94192502039472', 'sub_type': 'str', 'type': 'enum'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_selection_filter', 'schema': {'expected': ['set_selection_filter'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_selection_filter', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_focus_on': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d4edb0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e7d70,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "set_selection_filter",                                             },                                             expected_py: None,                                             name: "literal['set_selection_filter']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "filter": SerField {                         key_py: Py(                             0x00007f68a7196400,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Enum(                                         EnumSerializer {                                             class: Py(                                                 0x000055aae69fe3b0,                                             ),                                             serializer: Some(                                                 Str(                                                     StrSerializer,                                                 ),                                             ),                                         },                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[enum]",                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "set_selection_filter",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="set_selection_filter", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "filter",                         lookup_key: Simple {                             key: "filter",                             py_key: Py(                                 0x00007f689410ea60,                             ),                             path: LookupPath(                                 [                                     S(                                         "filter",                                         Py(                                             0x00007f689410e9d0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a7196400,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     StrEnum(                                         EnumValidator {                                             phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                             class: Py(                                                 0x000055aae69fe3b0,                                             ),                                             lookup: LiteralLookup {                                                 expected_bool: None,                                                 expected_int: None,                                                 expected_str: Some(                                                     {                                                         "entity": 0,                                                         "plane": 8,                                                         "curve": 3,                                                         "solid3d": 5,                                                         "vertex": 9,                                                         "face": 7,                                                         "edge": 6,                                                         "solid2d": 4,                                                         "object": 1,                                                         "path": 2,                                                     },                                                 ),                                                 expected_py_dict: None,                                                 expected_py_values: None,                                                 values: [                                                     Py(                                                         0x00007f6894534410,                                                     ),                                                     Py(                                                         0x00007f6894534530,                                                     ),                                                     Py(                                                         0x00007f68945344d0,                                                     ),                                                     Py(                                                         0x00007f6894534590,                                                     ),                                                     Py(                                                         0x00007f68945345f0,                                                     ),                                                     Py(                                                         0x00007f6894534650,                                                     ),                                                     Py(                                                         0x00007f68945346b0,                                                     ),                                                     Py(                                                         0x00007f6894534710,                                                     ),                                                     Py(                                                         0x00007f6894534770,                                                     ),                                                     Py(                                                         0x00007f68945347d0,                                                     ),                                                 ],                                             },                                             missing: None,                                             expected_repr: "'entity', 'object', 'path', 'curve', 'solid2d', 'solid3d', 'edge', 'face', 'plane' or 'vertex'",                                             strict: false,                                             class_repr: "EntityType",                                             name: "str-enum[EntityType]",                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689410e9a0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689410eb20,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e7d70,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "set_selection_filter": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e7d70,                                                 ),                                             ],                                         },                                         expected_repr: "'set_selection_filter'",                                         name: "literal['set_selection_filter']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['set_selection_filter']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "set_selection_filter",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d4edb0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "set_selection_filter",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, filter: List[kittycad.models.entity_type.EntityType], type: Literal['set_selection_filter'] = 'set_selection_filter') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

filter: List[EntityType][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'filter': FieldInfo(annotation=List[EntityType], required=True), 'type': FieldInfo(annotation=Literal['set_selection_filter'], required=False, default='set_selection_filter')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['set_selection_filter'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.set_selection_type(**data)[source][source]

When you select some entity with the current tool, what should happen to the entity?

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'selection_type': <enum 'SceneSelectionType'>, 'type': typing.Literal['set_selection_type']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.set_selection_type'>, 'config': {'title': 'set_selection_type'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_selection_type'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_selection_type'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_selection_type:94192505500640', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'selection_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'SceneSelectionType'>, 'members': [SceneSelectionType.REPLACE, SceneSelectionType.ADD, SceneSelectionType.REMOVE], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.scene_selection_type.SceneSelectionType:94192504010944', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_selection_type', 'schema': {'expected': ['set_selection_type'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_selection_type', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_focus_on': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d4b3e0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "selection_type": SerField {                         key_py: Py(                             0x00007f68944b9d70,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae6bdf8c0,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e7b70,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "set_selection_type",                                             },                                             expected_py: None,                                             name: "literal['set_selection_type']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "set_selection_type",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="set_selection_type", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "selection_type",                         lookup_key: Simple {                             key: "selection_type",                             py_key: Py(                                 0x00007f68942fef70,                             ),                             path: LookupPath(                                 [                                     S(                                         "selection_type",                                         Py(                                             0x00007f68942fef30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944b9d70,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae6bdf8c0,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "remove": 2,                                             "replace": 0,                                             "add": 1,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f6894453ef0,                                         ),                                         Py(                                             0x00007f6894453fb0,                                         ),                                         Py(                                             0x00007f68944f4050,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'replace', 'add' or 'remove'",                                 strict: false,                                 class_repr: "SceneSelectionType",                                 name: "str-enum[SceneSelectionType]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894100ea0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894100e40,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e7b70,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "set_selection_type": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e7b70,                                                 ),                                             ],                                         },                                         expected_repr: "'set_selection_type'",                                         name: "literal['set_selection_type']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['set_selection_type']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "set_selection_type",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d4b3e0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "set_selection_type",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, selection_type: kittycad.models.scene_selection_type.SceneSelectionType, type: Literal['set_selection_type'] = 'set_selection_type') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'selection_type': FieldInfo(annotation=SceneSelectionType, required=True), 'type': FieldInfo(annotation=Literal['set_selection_type'], required=False, default='set_selection_type')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

selection_type: SceneSelectionType[source]
type: Literal['set_selection_type'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.set_tool(**data)[source][source]

Set the current tool.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'tool': <enum 'SceneToolType'>, 'type': typing.Literal['set_tool']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.set_tool'>, 'config': {'title': 'set_tool'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_tool'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_tool'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_tool:94192504894160', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'tool': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'SceneToolType'>, 'members': [SceneToolType.CAMERA_REVOLVE, SceneToolType.SELECT, SceneToolType.MOVE, SceneToolType.SKETCH_LINE, SceneToolType.SKETCH_TANGENTIAL_ARC, SceneToolType.SKETCH_CURVE, SceneToolType.SKETCH_CURVE_MOD], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.scene_tool_type.SceneToolType:94192504015104', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_tool', 'schema': {'expected': ['set_tool'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_tool', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cb72d0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e4c70,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "set_tool",                                             },                                             expected_py: None,                                             name: "literal['set_tool']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "tool": SerField {                         key_py: Py(                             0x00007f68985616e0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae6be0900,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "set_tool",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="set_tool", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "tool",                         lookup_key: Simple {                             key: "tool",                             py_key: Py(                                 0x00007f689422cc30,                             ),                             path: LookupPath(                                 [                                     S(                                         "tool",                                         Py(                                             0x00007f689422cab0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68985616e0,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae6be0900,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "camera_revolve": 0,                                             "select": 1,                                             "sketch_tangential_arc": 4,                                             "sketch_curve_mod": 6,                                             "sketch_line": 3,                                             "move": 2,                                             "sketch_curve": 5,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f68944f4230,                                         ),                                         Py(                                             0x00007f68944f4170,                                         ),                                         Py(                                             0x00007f68944f4290,                                         ),                                         Py(                                             0x00007f68944f42f0,                                         ),                                         Py(                                             0x00007f68944f4350,                                         ),                                         Py(                                             0x00007f68944f43b0,                                         ),                                         Py(                                             0x00007f68944f4410,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'camera_revolve', 'select', 'move', 'sketch_line', 'sketch_tangential_arc', 'sketch_curve' or 'sketch_curve_mod'",                                 strict: false,                                 class_repr: "SceneToolType",                                 name: "str-enum[SceneToolType]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689422cb10,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689422cae0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e4c70,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "set_tool": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e4c70,                                                 ),                                             ],                                         },                                         expected_repr: "'set_tool'",                                         name: "literal['set_tool']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['set_tool']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "set_tool",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cb72d0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "set_tool",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, tool: kittycad.models.scene_tool_type.SceneToolType, type: Literal['set_tool'] = 'set_tool') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'tool': FieldInfo(annotation=SceneToolType, required=True), 'type': FieldInfo(annotation=Literal['set_tool'], required=False, default='set_tool')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

tool: SceneToolType[source]
type: Literal['set_tool'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.sketch_mode_disable(**data)[source][source]

Disable sketch mode. If you are sketching on a face, be sure to not disable sketch mode until you have extruded. Otherwise, your object will not be fused with the face.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['sketch_mode_disable']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.sketch_mode_disable'>, 'config': {'title': 'sketch_mode_disable'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.sketch_mode_disable'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.sketch_mode_disable'>>]}, 'ref': 'kittycad.models.modeling_cmd.sketch_mode_disable:94192504956272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'sketch_mode_disable', 'schema': {'expected': ['sketch_mode_disable'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'sketch_mode_disable', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cc6570,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944e5030,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "sketch_mode_disable",                                             },                                             expected_py: None,                                             name: "literal['sketch_mode_disable']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 1,             },         ),         has_extra: false,         root_model: false,         name: "sketch_mode_disable",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="sketch_mode_disable", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894246700,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894246730,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944e5030,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "sketch_mode_disable": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944e5030,                                                 ),                                             ],                                         },                                         expected_repr: "'sketch_mode_disable'",                                         name: "literal['sketch_mode_disable']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['sketch_mode_disable']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "sketch_mode_disable",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cc6570,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "sketch_mode_disable",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['sketch_mode_disable'] = 'sketch_mode_disable') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['sketch_mode_disable'], required=False, default='sketch_mode_disable')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['sketch_mode_disable'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.solid2d_add_hole(**data)[source][source]

Add a hole to a Solid2d object before extruding it.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'hole_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['solid2d_add_hole']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.solid2d_add_hole'>, 'config': {'title': 'solid2d_add_hole'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid2d_add_hole'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid2d_add_hole'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid2d_add_hole:94192504605120', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'hole_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid2d_add_hole', 'schema': {'expected': ['solid2d_add_hole'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid2d_add_hole', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c709c0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944df830,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "solid2d_add_hole",                                             },                                             expected_py: None,                                             name: "literal['solid2d_add_hole']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "hole_id": SerField {                         key_py: Py(                             0x00007f68944bf090,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "solid2d_add_hole",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="solid2d_add_hole", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "hole_id",                         lookup_key: Simple {                             key: "hole_id",                             py_key: Py(                                 0x00007f68943cbe40,                             ),                             path: LookupPath(                                 [                                     S(                                         "hole_id",                                         Py(                                             0x00007f68943cbe10,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944bf090,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943da370,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943d9cb0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943cbdb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943cbd80,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944df830,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "solid2d_add_hole": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944df830,                                                 ),                                             ],                                         },                                         expected_repr: "'solid2d_add_hole'",                                         name: "literal['solid2d_add_hole']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['solid2d_add_hole']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "solid2d_add_hole",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c709c0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "solid2d_add_hole",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, hole_id: str, object_id: str, type: Literal['solid2d_add_hole'] = 'solid2d_add_hole') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

hole_id: str[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'hole_id': FieldInfo(annotation=str, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['solid2d_add_hole'], required=False, default='solid2d_add_hole')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['solid2d_add_hole'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.solid3d_fillet_edge(**data)[source][source]

Fillets the given edge with the specified radius.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'cut_type': <enum 'CutType'>, 'edge_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'radius': <class 'kittycad.models.length_unit.LengthUnit'>, 'tolerance': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': typing.Literal['solid3d_fillet_edge']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.solid3d_fillet_edge'>, 'config': {'title': 'solid3d_fillet_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_fillet_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_fillet_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_fillet_edge:94192504677824', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cut_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'fillet', 'schema': {'cls': <enum 'CutType'>, 'members': [CutType.FILLET, CutType.CHAMFER], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.cut_type.CutType:94192501765120', 'sub_type': 'str', 'type': 'enum'}, 'type': 'default'}, 'type': 'model-field'}, 'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'radius': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'tolerance': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_fillet_edge', 'schema': {'expected': ['solid3d_fillet_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_fillet_edge', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c825c0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "edge_id": SerField {                         key_py: Py(                             0x00007f6894499b00,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "tolerance": SerField {                         key_py: Py(                             0x00007f68972c4b30,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944dfcb0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "solid3d_fillet_edge",                                             },                                             expected_py: None,                                             name: "literal['solid3d_fillet_edge']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "radius": SerField {                         key_py: Py(                             0x00007f689760f390,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                     "cut_type": SerField {                         key_py: Py(                             0x00007f68956deff0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f6894618d80,                                         ),                                     ),                                     serializer: Enum(                                         EnumSerializer {                                             class: Py(                                                 0x000055aae69bb400,                                             ),                                             serializer: Some(                                                 Str(                                                     StrSerializer,                                                 ),                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 6,             },         ),         has_extra: false,         root_model: false,         name: "solid3d_fillet_edge",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="solid3d_fillet_edge", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "cut_type",                         lookup_key: Simple {                             key: "cut_type",                             py_key: Py(                                 0x00007f68943fd770,                             ),                             path: LookupPath(                                 [                                     S(                                         "cut_type",                                         Py(                                             0x00007f68943fd730,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68956deff0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f6894618d80,                                     ),                                 ),                                 on_error: Raise,                                 validator: StrEnum(                                     EnumValidator {                                         phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                         class: Py(                                             0x000055aae69bb400,                                         ),                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "fillet": 0,                                                     "chamfer": 1,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f6894675df0,                                                 ),                                                 Py(                                                     0x00007f6894675eb0,                                                 ),                                             ],                                         },                                         missing: None,                                         expected_repr: "'fillet' or 'chamfer'",                                         strict: false,                                         class_repr: "CutType",                                         name: "str-enum[CutType]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str-enum[CutType]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "edge_id",                         lookup_key: Simple {                             key: "edge_id",                             py_key: Py(                                 0x00007f68943f4c60,                             ),                             path: LookupPath(                                 [                                     S(                                         "edge_id",                                         Py(                                             0x00007f68943f4c90,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894499b00,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943fd7f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943fd7b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "radius",                         lookup_key: Simple {                             key: "radius",                             py_key: Py(                                 0x00007f68943f4d20,                             ),                             path: LookupPath(                                 [                                     S(                                         "radius",                                         Py(                                             0x00007f68943f4d50,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689760f390,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 func: Py(                                     0x000055aae636ccf0,                                 ),                                 config: Py(                                     0x00007f68943fd700,                                 ),                                 name: "function-after[LengthUnit(), float]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "tolerance",                         lookup_key: Simple {                             key: "tolerance",                             py_key: Py(                                 0x00007f68943fd830,                             ),                             path: LookupPath(                                 [                                     S(                                         "tolerance",                                         Py(                                             0x00007f68943fd870,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68972c4b30,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 func: Py(                                     0x000055aae636ccf0,                                 ),                                 config: Py(                                     0x00007f68943fd700,                                 ),                                 name: "function-after[LengthUnit(), float]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943f4d80,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943f4db0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944dfcb0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "solid3d_fillet_edge": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944dfcb0,                                                 ),                                             ],                                         },                                         expected_repr: "'solid3d_fillet_edge'",                                         name: "literal['solid3d_fillet_edge']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['solid3d_fillet_edge']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "solid3d_fillet_edge",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c825c0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "solid3d_fillet_edge",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, cut_type: kittycad.models.cut_type.CutType = 'fillet', edge_id: str, object_id: str, radius: kittycad.models.length_unit.LengthUnit, tolerance: kittycad.models.length_unit.LengthUnit, type: Literal['solid3d_fillet_edge'] = 'solid3d_fillet_edge') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

cut_type: CutType[source]
dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

edge_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'cut_type': FieldInfo(annotation=CutType, required=False, default='fillet'), 'edge_id': FieldInfo(annotation=str, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'radius': FieldInfo(annotation=LengthUnit, required=True), 'tolerance': FieldInfo(annotation=LengthUnit, required=True), 'type': FieldInfo(annotation=Literal['solid3d_fillet_edge'], required=False, default='solid3d_fillet_edge')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

radius: LengthUnit[source]
classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

tolerance: LengthUnit[source]
type: Literal['solid3d_fillet_edge'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.solid3d_get_all_edge_faces(**data)[source][source]

Gets all faces which use the given edge.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'edge_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['solid3d_get_all_edge_faces']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_all_edge_faces'>, 'config': {'title': 'solid3d_get_all_edge_faces'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_all_edge_faces'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_all_edge_faces'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_all_edge_faces:94192504582032', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_all_edge_faces', 'schema': {'expected': ['solid3d_get_all_edge_faces'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_all_edge_faces', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c6af90,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511b3c0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "solid3d_get_all_edge_faces",                                             },                                             expected_py: None,                                             name: "literal['solid3d_get_all_edge_faces']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "edge_id": SerField {                         key_py: Py(                             0x00007f6894499b00,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "solid3d_get_all_edge_faces",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="solid3d_get_all_edge_faces", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "edge_id",                         lookup_key: Simple {                             key: "edge_id",                             py_key: Py(                                 0x00007f68943dd650,                             ),                             path: LookupPath(                                 [                                     S(                                         "edge_id",                                         Py(                                             0x00007f68943dd680,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894499b00,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943d92b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943d9270,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943dd6b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943dd6e0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511b3c0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "solid3d_get_all_edge_faces": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511b3c0,                                                 ),                                             ],                                         },                                         expected_repr: "'solid3d_get_all_edge_faces'",                                         name: "literal['solid3d_get_all_edge_faces']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['solid3d_get_all_edge_faces']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "solid3d_get_all_edge_faces",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c6af90,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "solid3d_get_all_edge_faces",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, edge_id: str, object_id: str, type: Literal['solid3d_get_all_edge_faces'] = 'solid3d_get_all_edge_faces') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

edge_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'edge_id': FieldInfo(annotation=str, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['solid3d_get_all_edge_faces'], required=False, default='solid3d_get_all_edge_faces')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['solid3d_get_all_edge_faces'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.solid3d_get_all_opposite_edges(**data)[source][source]

Gets all edges which are opposite the given edge, across all possible faces.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'along_vector': typing.Optional[kittycad.models.point3d.Point3d], 'edge_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['solid3d_get_all_opposite_edges']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_all_opposite_edges'>, 'config': {'title': 'solid3d_get_all_opposite_edges'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_all_opposite_edges'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_all_opposite_edges'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_all_opposite_edges:94192504616800', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'along_vector': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_all_opposite_edges', 'schema': {'expected': ['solid3d_get_all_opposite_edges'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_all_opposite_edges', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c73760,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511b410,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "solid3d_get_all_opposite_edges",                                             },                                             expected_py: None,                                             name: "literal['solid3d_get_all_opposite_edges']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "edge_id": SerField {                         key_py: Py(                             0x00007f6894499b00,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "along_vector": SerField {                         key_py: Py(                             0x00007f68944df9f0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7748100,                                         ),                                     ),                                     serializer: Nullable(                                         NullableSerializer {                                             serializer: Model(                                                 ModelSerializer {                                                     class: Py(                                                         0x000055aae6232b70,                                                     ),                                                     serializer: Fields(                                                         GeneralFieldsSerializer {                                                             fields: {                                                                 "y": SerField {                                                                     key_py: Py(                                                                         0x00007f68a783f658,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "z": SerField {                                                                     key_py: Py(                                                                         0x00007f68a783f688,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                                 "x": SerField {                                                                     key_py: Py(                                                                         0x00007f68a783df18,                                                                     ),                                                                     alias: None,                                                                     alias_py: None,                                                                     serializer: Some(                                                                         Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     ),                                                                     required: true,                                                                 },                                                             },                                                             computed_fields: Some(                                                                 ComputedFields(                                                                     [],                                                                 ),                                                             ),                                                             mode: SimpleDict,                                                             extra_serializer: None,                                                             filter: SchemaFilter {                                                                 include: None,                                                                 exclude: None,                                                             },                                                             required_fields: 3,                                                         },                                                     ),                                                     has_extra: false,                                                     root_model: false,                                                     name: "Point3d",                                                 },                                             ),                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "solid3d_get_all_opposite_edges",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="solid3d_get_all_opposite_edges", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "along_vector",                         lookup_key: Simple {                             key: "along_vector",                             py_key: Py(                                 0x00007f68943db5b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "along_vector",                                         Py(                                             0x00007f68943db570,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944df9f0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7748100,                                     ),                                 ),                                 on_error: Raise,                                 validator: Nullable(                                     NullableValidator {                                         validator: Model(                                             ModelValidator {                                                 revalidate: Never,                                                 validator: ModelFields(                                                     ModelFieldsValidator {                                                         fields: [                                                             Field {                                                                 name: "x",                                                                 lookup_key: Simple {                                                                     key: "x",                                                                     py_key: Py(                                                                         0x00007f68a783f628,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "x",                                                                                 Py(                                                                                     0x00007f68a783f628,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a783df18,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "y",                                                                 lookup_key: Simple {                                                                     key: "y",                                                                     py_key: Py(                                                                         0x00007f68a783f658,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "y",                                                                                 Py(                                                                                     0x00007f68a783f658,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a783f658,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                             Field {                                                                 name: "z",                                                                 lookup_key: Simple {                                                                     key: "z",                                                                     py_key: Py(                                                                         0x00007f68a783f688,                                                                     ),                                                                     path: LookupPath(                                                                         [                                                                             S(                                                                                 "z",                                                                                 Py(                                                                                     0x00007f68a783f688,                                                                                 ),                                                                             ),                                                                         ],                                                                     ),                                                                 },                                                                 name_py: Py(                                                                     0x00007f68a783f688,                                                                 ),                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 frozen: false,                                                             },                                                         ],                                                         model_name: "Point3d",                                                         extra_behavior: Ignore,                                                         extras_validator: None,                                                         strict: false,                                                         from_attributes: false,                                                         loc_by_alias: true,                                                     },                                                 ),                                                 class: Py(                                                     0x000055aae6232b70,                                                 ),                                                 post_init: None,                                                 frozen: false,                                                 custom_init: false,                                                 root_model: false,                                                 undefined: Py(                                                     0x00007f6896b91e70,                                                 ),                                                 name: "Point3d",                                             },                                         ),                                         name: "nullable[Point3d]",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[nullable[Point3d]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "edge_id",                         lookup_key: Simple {                             key: "edge_id",                             py_key: Py(                                 0x00007f68943dfab0,                             ),                             path: LookupPath(                                 [                                     S(                                         "edge_id",                                         Py(                                             0x00007f68943dfae0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894499b00,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943db630,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943db5f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943dfb10,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943dfb40,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511b410,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "solid3d_get_all_opposite_edges": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511b410,                                                 ),                                             ],                                         },                                         expected_repr: "'solid3d_get_all_opposite_edges'",                                         name: "literal['solid3d_get_all_opposite_edges']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['solid3d_get_all_opposite_edges']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "solid3d_get_all_opposite_edges",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c73760,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "solid3d_get_all_opposite_edges",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, along_vector: Optional[kittycad.models.point3d.Point3d] = None, edge_id: str, object_id: str, type: Literal['solid3d_get_all_opposite_edges'] = 'solid3d_get_all_opposite_edges') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

along_vector: Optional[Point3d][source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

edge_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'along_vector': FieldInfo(annotation=Union[Point3d, NoneType], required=False, default=None), 'edge_id': FieldInfo(annotation=str, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['solid3d_get_all_opposite_edges'], required=False, default='solid3d_get_all_opposite_edges')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['solid3d_get_all_opposite_edges'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.solid3d_get_extrusion_face_info(**data)[source][source]

Get a concise description of all of an extrusion’s faces.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'edge_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['solid3d_get_extrusion_face_info']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_extrusion_face_info'>, 'config': {'title': 'solid3d_get_extrusion_face_info'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_extrusion_face_info'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_extrusion_face_info'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_extrusion_face_info:94192505588352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_extrusion_face_info', 'schema': {'expected': ['solid3d_get_extrusion_face_info'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_extrusion_face_info', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_focus_on': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_orthographic': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_perspective': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_filter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'view_isometric': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>, 'zoom_to_fit': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d60a80,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511b4b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "solid3d_get_extrusion_face_info",                                             },                                             expected_py: None,                                             name: "literal['solid3d_get_extrusion_face_info']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "edge_id": SerField {                         key_py: Py(                             0x00007f6894499b00,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "solid3d_get_extrusion_face_info",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="solid3d_get_extrusion_face_info", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "edge_id",                         lookup_key: Simple {                             key: "edge_id",                             py_key: Py(                                 0x00007f68941279f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "edge_id",                                         Py(                                             0x00007f6894127a20,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894499b00,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68941303b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f6894130270,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894127a50,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894127a80,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511b4b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "solid3d_get_extrusion_face_info": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511b4b0,                                                 ),                                             ],                                         },                                         expected_repr: "'solid3d_get_extrusion_face_info'",                                         name: "literal['solid3d_get_extrusion_face_info']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['solid3d_get_extrusion_face_info']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "solid3d_get_extrusion_face_info",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d60a80,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "solid3d_get_extrusion_face_info",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, edge_id: str, object_id: str, type: Literal['solid3d_get_extrusion_face_info'] = 'solid3d_get_extrusion_face_info') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

edge_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'edge_id': FieldInfo(annotation=str, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['solid3d_get_extrusion_face_info'], required=False, default='solid3d_get_extrusion_face_info')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['solid3d_get_extrusion_face_info'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.solid3d_get_next_adjacent_edge(**data)[source][source]

Gets the next adjacent edge for the given edge, along the given face.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'edge_id': <class 'str'>, 'face_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['solid3d_get_next_adjacent_edge']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_next_adjacent_edge'>, 'config': {'title': 'solid3d_get_next_adjacent_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_next_adjacent_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_next_adjacent_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_next_adjacent_edge:94192504642160', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'face_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_next_adjacent_edge', 'schema': {'expected': ['solid3d_get_next_adjacent_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_next_adjacent_edge', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c79a70,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "edge_id": SerField {                         key_py: Py(                             0x00007f6894499b00,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511b550,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "solid3d_get_next_adjacent_edge",                                             },                                             expected_py: None,                                             name: "literal['solid3d_get_next_adjacent_edge']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "face_id": SerField {                         key_py: Py(                             0x00007f68946f4cf0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "solid3d_get_next_adjacent_edge",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="solid3d_get_next_adjacent_edge", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "edge_id",                         lookup_key: Simple {                             key: "edge_id",                             py_key: Py(                                 0x00007f68943e68b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "edge_id",                                         Py(                                             0x00007f68943e68e0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894499b00,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "face_id",                         lookup_key: Simple {                             key: "face_id",                             py_key: Py(                                 0x00007f68943e6910,                             ),                             path: LookupPath(                                 [                                     S(                                         "face_id",                                         Py(                                             0x00007f68943e6940,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68946f4cf0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943eddb0,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943edd70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943e6970,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943e69a0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511b550,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "solid3d_get_next_adjacent_edge": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511b550,                                                 ),                                             ],                                         },                                         expected_repr: "'solid3d_get_next_adjacent_edge'",                                         name: "literal['solid3d_get_next_adjacent_edge']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['solid3d_get_next_adjacent_edge']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "solid3d_get_next_adjacent_edge",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c79a70,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "solid3d_get_next_adjacent_edge",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, edge_id: str, face_id: str, object_id: str, type: Literal['solid3d_get_next_adjacent_edge'] = 'solid3d_get_next_adjacent_edge') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

edge_id: str[source]
face_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'edge_id': FieldInfo(annotation=str, required=True), 'face_id': FieldInfo(annotation=str, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['solid3d_get_next_adjacent_edge'], required=False, default='solid3d_get_next_adjacent_edge')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['solid3d_get_next_adjacent_edge'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.solid3d_get_opposite_edge(**data)[source][source]

Gets the edge opposite the given edge, along the given face.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'edge_id': <class 'str'>, 'face_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['solid3d_get_opposite_edge']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_opposite_edge'>, 'config': {'title': 'solid3d_get_opposite_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_opposite_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_opposite_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_opposite_edge:94192504629504', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'face_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_opposite_edge', 'schema': {'expected': ['solid3d_get_opposite_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_opposite_edge', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c76900,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "edge_id": SerField {                         key_py: Py(                             0x00007f6894499b00,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "face_id": SerField {                         key_py: Py(                             0x00007f68946f4cf0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511b5f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "solid3d_get_opposite_edge",                                             },                                             expected_py: None,                                             name: "literal['solid3d_get_opposite_edge']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "solid3d_get_opposite_edge",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="solid3d_get_opposite_edge", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "edge_id",                         lookup_key: Simple {                             key: "edge_id",                             py_key: Py(                                 0x00007f68943e51a0,                             ),                             path: LookupPath(                                 [                                     S(                                         "edge_id",                                         Py(                                             0x00007f68943e51d0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894499b00,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "face_id",                         lookup_key: Simple {                             key: "face_id",                             py_key: Py(                                 0x00007f68943e5200,                             ),                             path: LookupPath(                                 [                                     S(                                         "face_id",                                         Py(                                             0x00007f68943e5230,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68946f4cf0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68943ec8f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943ec8b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943e5260,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943e5290,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511b5f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "solid3d_get_opposite_edge": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511b5f0,                                                 ),                                             ],                                         },                                         expected_repr: "'solid3d_get_opposite_edge'",                                         name: "literal['solid3d_get_opposite_edge']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['solid3d_get_opposite_edge']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "solid3d_get_opposite_edge",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c76900,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "solid3d_get_opposite_edge",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, edge_id: str, face_id: str, object_id: str, type: Literal['solid3d_get_opposite_edge'] = 'solid3d_get_opposite_edge') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

edge_id: str[source]
face_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'edge_id': FieldInfo(annotation=str, required=True), 'face_id': FieldInfo(annotation=str, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['solid3d_get_opposite_edge'], required=False, default='solid3d_get_opposite_edge')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['solid3d_get_opposite_edge'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.solid3d_get_prev_adjacent_edge(**data)[source][source]

Gets the previous adjacent edge for the given edge, along the given face.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'edge_id': <class 'str'>, 'face_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'type': typing.Literal['solid3d_get_prev_adjacent_edge']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_prev_adjacent_edge'>, 'config': {'title': 'solid3d_get_prev_adjacent_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_prev_adjacent_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_prev_adjacent_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_prev_adjacent_edge:94192504663232', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'face_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_prev_adjacent_edge', 'schema': {'expected': ['solid3d_get_prev_adjacent_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_prev_adjacent_edge', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c7ecc0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "face_id": SerField {                         key_py: Py(                             0x00007f68946f4cf0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "edge_id": SerField {                         key_py: Py(                             0x00007f6894499b00,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689511b640,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "solid3d_get_prev_adjacent_edge",                                             },                                             expected_py: None,                                             name: "literal['solid3d_get_prev_adjacent_edge']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "solid3d_get_prev_adjacent_edge",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="solid3d_get_prev_adjacent_edge", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "edge_id",                         lookup_key: Simple {                             key: "edge_id",                             py_key: Py(                                 0x00007f68943e7720,                             ),                             path: LookupPath(                                 [                                     S(                                         "edge_id",                                         Py(                                             0x00007f68943e7750,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894499b00,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "face_id",                         lookup_key: Simple {                             key: "face_id",                             py_key: Py(                                 0x00007f68943e7780,                             ),                             path: LookupPath(                                 [                                     S(                                         "face_id",                                         Py(                                             0x00007f68943e77b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68946f4cf0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68944434b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68943eda70,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68943e77e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943e7810,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689511b640,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "solid3d_get_prev_adjacent_edge": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689511b640,                                                 ),                                             ],                                         },                                         expected_repr: "'solid3d_get_prev_adjacent_edge'",                                         name: "literal['solid3d_get_prev_adjacent_edge']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['solid3d_get_prev_adjacent_edge']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "solid3d_get_prev_adjacent_edge",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c7ecc0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "solid3d_get_prev_adjacent_edge",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, edge_id: str, face_id: str, object_id: str, type: Literal['solid3d_get_prev_adjacent_edge'] = 'solid3d_get_prev_adjacent_edge') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

edge_id: str[source]
face_id: str[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'edge_id': FieldInfo(annotation=str, required=True), 'face_id': FieldInfo(annotation=str, required=True), 'object_id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=Literal['solid3d_get_prev_adjacent_edge'], required=False, default='solid3d_get_prev_adjacent_edge')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['solid3d_get_prev_adjacent_edge'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.solid3d_shell_face(**data)[source][source]

Command for shelling a solid3d face

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'face_ids': typing.List[str], 'hollow': <class 'bool'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_id': <class 'str'>, 'shell_thickness': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': typing.Literal['solid3d_shell_face']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.solid3d_shell_face'>, 'config': {'title': 'solid3d_shell_face'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_shell_face'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_shell_face'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_shell_face:94192504137264', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'face_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'hollow': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'shell_thickness': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_shell_face', 'schema': {'expected': ['solid3d_shell_face'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_shell_face', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6bfe630,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "hollow": SerField {                         key_py: Py(                             0x00007f6894499800,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a7731d20,                                         ),                                     ),                                     serializer: Bool(                                         BoolSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689449f530,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "solid3d_shell_face",                                             },                                             expected_py: None,                                             name: "literal['solid3d_shell_face']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "object_id": SerField {                         key_py: Py(                             0x00007f6898720cb0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "face_ids": SerField {                         key_py: Py(                             0x00007f689449f570,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                     "shell_thickness": SerField {                         key_py: Py(                             0x00007f689449f5b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 5,             },         ),         has_extra: false,         root_model: false,         name: "solid3d_shell_face",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="solid3d_shell_face", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "face_ids",                         lookup_key: Simple {                             key: "face_ids",                             py_key: Py(                                 0x00007f6894495230,                             ),                             path: LookupPath(                                 [                                     S(                                         "face_ids",                                         Py(                                             0x00007f6894495ab0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689449f570,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "hollow",                         lookup_key: Simple {                             key: "hollow",                             py_key: Py(                                 0x00007f68944bd7d0,                             ),                             path: LookupPath(                                 [                                     S(                                         "hollow",                                         Py(                                             0x00007f68944bd7a0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894499800,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a7731d20,                                     ),                                 ),                                 on_error: Raise,                                 validator: Bool(                                     BoolValidator {                                         strict: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[bool]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "object_id",                         lookup_key: Simple {                             key: "object_id",                             py_key: Py(                                 0x00007f68944950f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_id",                                         Py(                                             0x00007f68944951b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6898720cb0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "shell_thickness",                         lookup_key: Simple {                             key: "shell_thickness",                             py_key: Py(                                 0x00007f68944951f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "shell_thickness",                                         Py(                                             0x00007f6894495170,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689449f5b0,                         ),                         validator: FunctionAfter(                             FunctionAfterValidator {                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 func: Py(                                     0x000055aae636ccf0,                                 ),                                 config: Py(                                     0x00007f6894494580,                                 ),                                 name: "function-after[LengthUnit(), float]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68944bd8f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68944bd8c0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689449f530,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "solid3d_shell_face": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689449f530,                                                 ),                                             ],                                         },                                         expected_repr: "'solid3d_shell_face'",                                         name: "literal['solid3d_shell_face']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['solid3d_shell_face']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "solid3d_shell_face",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6bfe630,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "solid3d_shell_face",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, face_ids: List[str], hollow: bool = False, object_id: str, shell_thickness: kittycad.models.length_unit.LengthUnit, type: Literal['solid3d_shell_face'] = 'solid3d_shell_face') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

face_ids: List[str][source]
classmethod from_orm(obj)[source]
Return type:

Self

hollow: bool[source]
json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'face_ids': FieldInfo(annotation=List[str], required=True), 'hollow': FieldInfo(annotation=bool, required=False, default=False), 'object_id': FieldInfo(annotation=str, required=True), 'shell_thickness': FieldInfo(annotation=LengthUnit, required=True), 'type': FieldInfo(annotation=Literal['solid3d_shell_face'], required=False, default='solid3d_shell_face')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_id: str[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

shell_thickness: LengthUnit[source]
type: Literal['solid3d_shell_face'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.start_path(**data)[source][source]

Start a new path.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['start_path']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.start_path'>, 'config': {'title': 'start_path'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.start_path'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.start_path'>>]}, 'ref': 'kittycad.models.modeling_cmd.start_path:94192504019200', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'start_path', 'schema': {'expected': ['start_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'start_path', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6be1900,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689449f0f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "start_path",                                             },                                             expected_py: None,                                             name: "literal['start_path']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 1,             },         ),         has_extra: false,         root_model: false,         name: "start_path",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="start_path", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689449b690,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689449b6c0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689449f0f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "start_path": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689449f0f0,                                                 ),                                             ],                                         },                                         expected_repr: "'start_path'",                                         name: "literal['start_path']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['start_path']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "start_path",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6be1900,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "start_path",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, type: Literal['start_path'] = 'start_path') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=Literal['start_path'], required=False, default='start_path')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['start_path'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.surface_area(**data)[source][source]

Get the surface area of entities in the scene or the default scene.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_ids': typing.List[str], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'output_unit': <enum 'UnitArea'>, 'type': typing.Literal['surface_area']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.surface_area'>, 'config': {'title': 'surface_area'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.surface_area'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.surface_area'>>]}, 'ref': 'kittycad.models.modeling_cmd.surface_area:94192505471072', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitArea'>, 'members': [UnitArea.CM2, UnitArea.DM2, UnitArea.FT2, UnitArea.IN2, UnitArea.KM2, UnitArea.M2, UnitArea.MM2, UnitArea.YD2], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_area.UnitArea:94192494755248', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'surface_area', 'schema': {'expected': ['surface_area'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'surface_area', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d44060,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689510f670,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "surface_area",                                             },                                             expected_py: None,                                             name: "literal['surface_area']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "entity_ids": SerField {                         key_py: Py(                             0x00007f689451a2b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                     "output_unit": SerField {                         key_py: Py(                             0x00007f6894e9c630,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae630bdb0,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "surface_area",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="surface_area", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_ids",                         lookup_key: Simple {                             key: "entity_ids",                             py_key: Py(                                 0x00007f68942fd770,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_ids",                                         Py(                                             0x00007f68942fd6f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689451a2b0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "output_unit",                         lookup_key: Simple {                             key: "output_unit",                             py_key: Py(                                 0x00007f68942fd830,                             ),                             path: LookupPath(                                 [                                     S(                                         "output_unit",                                         Py(                                             0x00007f68942fd7b0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894e9c630,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae630bdb0,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "dm2": 1,                                             "yd2": 7,                                             "m2": 5,                                             "ft2": 2,                                             "mm2": 6,                                             "km2": 4,                                             "cm2": 0,                                             "in2": 3,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f68947ac9b0,                                         ),                                         Py(                                             0x00007f68947aca10,                                         ),                                         Py(                                             0x00007f68947aca70,                                         ),                                         Py(                                             0x00007f68947acad0,                                         ),                                         Py(                                             0x00007f68947acb30,                                         ),                                         Py(                                             0x00007f68947acb90,                                         ),                                         Py(                                             0x00007f68947acbf0,                                         ),                                         Py(                                             0x00007f68947acc50,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'cm2', 'dm2', 'ft2', 'in2', 'km2', 'm2', 'mm2' or 'yd2'",                                 strict: false,                                 class_repr: "UnitArea",                                 name: "str-enum[UnitArea]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894101350,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68941012f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689510f670,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "surface_area": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689510f670,                                                 ),                                             ],                                         },                                         expected_repr: "'surface_area'",                                         name: "literal['surface_area']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['surface_area']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "surface_area",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d44060,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "surface_area",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_ids: List[str], output_unit: kittycad.models.unit_area.UnitArea, type: Literal['surface_area'] = 'surface_area') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_ids: List[str][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_ids': FieldInfo(annotation=List[str], required=True), 'output_unit': FieldInfo(annotation=UnitArea, required=True), 'type': FieldInfo(annotation=Literal['surface_area'], required=False, default='surface_area')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

output_unit: UnitArea[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['surface_area'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.take_snapshot(**data)[source][source]

Take a snapshot of the current view.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'format': <enum 'ImageFormat'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['take_snapshot']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.take_snapshot'>, 'config': {'title': 'take_snapshot'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.take_snapshot'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.take_snapshot'>>]}, 'ref': 'kittycad.models.modeling_cmd.take_snapshot:94192505127536', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'format': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'ImageFormat'>, 'members': [ImageFormat.PNG, ImageFormat.JPEG], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.image_format.ImageFormat:94192502788288', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'take_snapshot', 'schema': {'expected': ['take_snapshot'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'take_snapshot', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6cf0270,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "format": SerField {                         key_py: Py(                             0x00007f68a7839f48,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae6ab50c0,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689510f6f0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "take_snapshot",                                             },                                             expected_py: None,                                             name: "literal['take_snapshot']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "take_snapshot",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="take_snapshot", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "format",                         lookup_key: Simple {                             key: "format",                             py_key: Py(                                 0x00007f689428b8a0,                             ),                             path: LookupPath(                                 [                                     S(                                         "format",                                         Py(                                             0x00007f689428b900,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a7839f48,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae6ab50c0,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "jpeg": 1,                                             "png": 0,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f6894537170,                                         ),                                         Py(                                             0x00007f68945371d0,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'png' or 'jpeg'",                                 strict: false,                                 class_repr: "ImageFormat",                                 name: "str-enum[ImageFormat]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f689428b9c0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f689428b9f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689510f6f0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "take_snapshot": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689510f6f0,                                                 ),                                             ],                                         },                                         expected_repr: "'take_snapshot'",                                         name: "literal['take_snapshot']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['take_snapshot']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "take_snapshot",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6cf0270,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "take_snapshot",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, format: kittycad.models.image_format.ImageFormat, type: Literal['take_snapshot'] = 'take_snapshot') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

format: ImageFormat[source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'format': FieldInfo(annotation=ImageFormat, required=True), 'type': FieldInfo(annotation=Literal['take_snapshot'], required=False, default='take_snapshot')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['take_snapshot'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.update_annotation(**data)[source][source]

Update an annotation

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'annotation_id': <class 'str'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'options': <class 'kittycad.models.annotation_options.AnnotationOptions'>, 'type': typing.Literal['update_annotation']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <enum 'AnnotationLineEnd'>, 'members': [AnnotationLineEnd.NONE, AnnotationLineEnd.ARROW], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:94192499173616', 'sub_type': 'str', 'type': 'enum'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd.update_annotation'>, 'config': {'title': 'update_annotation'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.update_annotation'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.update_annotation'>>]}, 'ref': 'kittycad.models.modeling_cmd.update_annotation:94192504436640', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'annotation_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'options': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.annotation_options.AnnotationOptions'>, 'config': {'title': 'AnnotationOptions'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.annotation_options.AnnotationOptions'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_options.AnnotationOptions'>>]}, 'ref': 'kittycad.models.annotation_options.AnnotationOptions:94192497882272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.color.Color'>, 'config': {'title': 'Color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.color.Color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.color.Color'>>]}, 'ref': 'kittycad.models.color.Color:94192493857760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'a': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'b': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'g': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'r': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Color', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'line_ends': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions'>, 'config': {'title': 'AnnotationLineEndOptions'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions'>>]}, 'ref': 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions:94192501086416', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'end': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:94192499173616', 'type': 'definition-ref'}, 'type': 'model-field'}, 'start': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:94192499173616', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'AnnotationLineEndOptions', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'line_width': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'position': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'text': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.annotation_text_options.AnnotationTextOptions'>, 'config': {'title': 'AnnotationTextOptions'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.annotation_text_options.AnnotationTextOptions'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_text_options.AnnotationTextOptions'>>]}, 'ref': 'kittycad.models.annotation_text_options.AnnotationTextOptions:94192499209072', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'point_size': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'text': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'AnnotationTextAlignmentX'>, 'members': [AnnotationTextAlignmentX.LEFT, AnnotationTextAlignmentX.CENTER, AnnotationTextAlignmentX.RIGHT], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_text_alignment_x.AnnotationTextAlignmentX:94192499204400', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'AnnotationTextAlignmentY'>, 'members': [AnnotationTextAlignmentY.BOTTOM, AnnotationTextAlignmentY.CENTER, AnnotationTextAlignmentY.TOP], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_text_alignment_y.AnnotationTextAlignmentY:94192499207296', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}}, 'model_name': 'AnnotationTextOptions', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'AnnotationOptions', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'update_annotation', 'schema': {'expected': ['update_annotation'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'update_annotation', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6c477a0,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "annotation_id": SerField {                         key_py: Py(                             0x00007f68944baaf0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Str(                                 StrSerializer,                             ),                         ),                         required: true,                     },                     "options": SerField {                         key_py: Py(                             0x00007f68a783be60,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Model(                                 ModelSerializer {                                     class: Py(                                         0x000055aae66074a0,                                     ),                                     serializer: Fields(                                         GeneralFieldsSerializer {                                             fields: {                                                 "line_width": SerField {                                                     key_py: Py(                                                         0x00007f68a584d6b0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         WithDefault(                                                             WithDefaultSerializer {                                                                 default: Default(                                                                     Py(                                                                         0x00007f68a7748100,                                                                     ),                                                                 ),                                                                 serializer: Nullable(                                                                     NullableSerializer {                                                                         serializer: Float(                                                                             FloatSerializer {                                                                                 inf_nan_mode: Null,                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "position": SerField {                                                     key_py: Py(                                                         0x00007f68a61946b0,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         WithDefault(                                                             WithDefaultSerializer {                                                                 default: Default(                                                                     Py(                                                                         0x00007f68a7748100,                                                                     ),                                                                 ),                                                                 serializer: Nullable(                                                                     NullableSerializer {                                                                         serializer: Model(                                                                             ModelSerializer {                                                                                 class: Py(                                                                                     0x000055aae6232b70,                                                                                 ),                                                                                 serializer: Fields(                                                                                     GeneralFieldsSerializer {                                                                                         fields: {                                                                                             "x": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783df18,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "z": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783f688,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "y": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783f658,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                         },                                                                                         computed_fields: Some(                                                                                             ComputedFields(                                                                                                 [],                                                                                             ),                                                                                         ),                                                                                         mode: SimpleDict,                                                                                         extra_serializer: None,                                                                                         filter: SchemaFilter {                                                                                             include: None,                                                                                             exclude: None,                                                                                         },                                                                                         required_fields: 3,                                                                                     },                                                                                 ),                                                                                 has_extra: false,                                                                                 root_model: false,                                                                                 name: "Point3d",                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "text": SerField {                                                     key_py: Py(                                                         0x00007f68a783d750,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         WithDefault(                                                             WithDefaultSerializer {                                                                 default: Default(                                                                     Py(                                                                         0x00007f68a7748100,                                                                     ),                                                                 ),                                                                 serializer: Nullable(                                                                     NullableSerializer {                                                                         serializer: Model(                                                                             ModelSerializer {                                                                                 class: Py(                                                                                     0x000055aae674b370,                                                                                 ),                                                                                 serializer: Fields(                                                                                     GeneralFieldsSerializer {                                                                                         fields: {                                                                                             "y": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783f658,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Enum(                                                                                                         EnumSerializer {                                                                                                             class: Py(                                                                                                                 0x000055aae674ac80,                                                                                                             ),                                                                                                             serializer: Some(                                                                                                                 Str(                                                                                                                     StrSerializer,                                                                                                                 ),                                                                                                             ),                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "x": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783df18,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Enum(                                                                                                         EnumSerializer {                                                                                                             class: Py(                                                                                                                 0x000055aae674a130,                                                                                                             ),                                                                                                             serializer: Some(                                                                                                                 Str(                                                                                                                     StrSerializer,                                                                                                                 ),                                                                                                             ),                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "point_size": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68947cf3f0,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Int(                                                                                                         IntSerializer,                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "text": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783d750,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Str(                                                                                                         StrSerializer,                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                         },                                                                                         computed_fields: Some(                                                                                             ComputedFields(                                                                                                 [],                                                                                             ),                                                                                         ),                                                                                         mode: SimpleDict,                                                                                         extra_serializer: None,                                                                                         filter: SchemaFilter {                                                                                             include: None,                                                                                             exclude: None,                                                                                         },                                                                                         required_fields: 4,                                                                                     },                                                                                 ),                                                                                 has_extra: false,                                                                                 root_model: false,                                                                                 name: "AnnotationTextOptions",                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "color": SerField {                                                     key_py: Py(                                                         0x00007f68a691a010,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         WithDefault(                                                             WithDefaultSerializer {                                                                 default: Default(                                                                     Py(                                                                         0x00007f68a7748100,                                                                     ),                                                                 ),                                                                 serializer: Nullable(                                                                     NullableSerializer {                                                                         serializer: Model(                                                                             ModelSerializer {                                                                                 class: Py(                                                                                     0x000055aae6230be0,                                                                                 ),                                                                                 serializer: Fields(                                                                                     GeneralFieldsSerializer {                                                                                         fields: {                                                                                             "r": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783c570,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "g": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783f2f8,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "b": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a78381d0,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "a": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a7837db0,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Float(                                                                                                         FloatSerializer {                                                                                                             inf_nan_mode: Null,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                         },                                                                                         computed_fields: Some(                                                                                             ComputedFields(                                                                                                 [],                                                                                             ),                                                                                         ),                                                                                         mode: SimpleDict,                                                                                         extra_serializer: None,                                                                                         filter: SchemaFilter {                                                                                             include: None,                                                                                             exclude: None,                                                                                         },                                                                                         required_fields: 4,                                                                                     },                                                                                 ),                                                                                 has_extra: false,                                                                                 root_model: false,                                                                                 name: "Color",                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                                 "line_ends": SerField {                                                     key_py: Py(                                                         0x00007f68951cb130,                                                     ),                                                     alias: None,                                                     alias_py: None,                                                     serializer: Some(                                                         WithDefault(                                                             WithDefaultSerializer {                                                                 default: Default(                                                                     Py(                                                                         0x00007f68a7748100,                                                                     ),                                                                 ),                                                                 serializer: Nullable(                                                                     NullableSerializer {                                                                         serializer: Model(                                                                             ModelSerializer {                                                                                 class: Py(                                                                                     0x000055aae69158d0,                                                                                 ),                                                                                 serializer: Fields(                                                                                     GeneralFieldsSerializer {                                                                                         fields: {                                                                                             "start": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a783d1a0,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Recursive(                                                                                                         DefinitionRefSerializer {                                                                                                             definition: "...",                                                                                                             retry_with_lax_check: false,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                             "end": SerField {                                                                                                 key_py: Py(                                                                                                     0x00007f68a7839760,                                                                                                 ),                                                                                                 alias: None,                                                                                                 alias_py: None,                                                                                                 serializer: Some(                                                                                                     Recursive(                                                                                                         DefinitionRefSerializer {                                                                                                             definition: "...",                                                                                                             retry_with_lax_check: false,                                                                                                         },                                                                                                     ),                                                                                                 ),                                                                                                 required: true,                                                                                             },                                                                                         },                                                                                         computed_fields: Some(                                                                                             ComputedFields(                                                                                                 [],                                                                                             ),                                                                                         ),                                                                                         mode: SimpleDict,                                                                                         extra_serializer: None,                                                                                         filter: SchemaFilter {                                                                                             include: None,                                                                                             exclude: None,                                                                                         },                                                                                         required_fields: 2,                                                                                     },                                                                                 ),                                                                                 has_extra: false,                                                                                 root_model: false,                                                                                 name: "AnnotationLineEndOptions",                                                                             },                                                                         ),                                                                     },                                                                 ),                                                             },                                                         ),                                                     ),                                                     required: true,                                                 },                                             },                                             computed_fields: Some(                                                 ComputedFields(                                                     [],                                                 ),                                             ),                                             mode: SimpleDict,                                             extra_serializer: None,                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             required_fields: 5,                                         },                                     ),                                     has_extra: false,                                     root_model: false,                                     name: "AnnotationOptions",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68944baa30,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "update_annotation",                                             },                                             expected_py: None,                                             name: "literal['update_annotation']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "update_annotation",     }, ), definitions=[Enum(EnumSerializer { class: Py(0x55aae67428f0), serializer: Some(Str(StrSerializer)) })])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="update_annotation", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "annotation_id",                         lookup_key: Simple {                             key: "annotation_id",                             py_key: Py(                                 0x00007f689455aaf0,                             ),                             path: LookupPath(                                 [                                     S(                                         "annotation_id",                                         Py(                                             0x00007f6894389230,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944baaf0,                         ),                         validator: Str(                             StrValidator {                                 strict: false,                                 coerce_numbers_to_str: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "options",                         lookup_key: Simple {                             key: "options",                             py_key: Py(                                 0x00007f6894397ab0,                             ),                             path: LookupPath(                                 [                                     S(                                         "options",                                         Py(                                             0x00007f6894397990,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783be60,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "color",                                                 lookup_key: Simple {                                                     key: "color",                                                     py_key: Py(                                                         0x00007f6894396760,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "color",                                                                 Py(                                                                     0x00007f6894396610,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a691a010,                                                 ),                                                 validator: WithDefault(                                                     WithDefaultValidator {                                                         default: Default(                                                             Py(                                                                 0x00007f68a7748100,                                                             ),                                                         ),                                                         on_error: Raise,                                                         validator: Nullable(                                                             NullableValidator {                                                                 validator: Model(                                                                     ModelValidator {                                                                         revalidate: Never,                                                                         validator: ModelFields(                                                                             ModelFieldsValidator {                                                                                 fields: [                                                                                     Field {                                                                                         name: "a",                                                                                         lookup_key: Simple {                                                                                             key: "a",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f1d8,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "a",                                                                                                         Py(                                                                                                             0x00007f68a783f1d8,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a7837db0,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "b",                                                                                         lookup_key: Simple {                                                                                             key: "b",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f208,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "b",                                                                                                         Py(                                                                                                             0x00007f68a783f208,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a78381d0,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "g",                                                                                         lookup_key: Simple {                                                                                             key: "g",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f2f8,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "g",                                                                                                         Py(                                                                                                             0x00007f68a783f2f8,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783f2f8,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "r",                                                                                         lookup_key: Simple {                                                                                             key: "r",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f508,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "r",                                                                                                         Py(                                                                                                             0x00007f68a783f508,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783c570,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                 ],                                                                                 model_name: "Color",                                                                                 extra_behavior: Ignore,                                                                                 extras_validator: None,                                                                                 strict: false,                                                                                 from_attributes: false,                                                                                 loc_by_alias: true,                                                                             },                                                                         ),                                                                         class: Py(                                                                             0x000055aae6230be0,                                                                         ),                                                                         post_init: None,                                                                         frozen: false,                                                                         custom_init: false,                                                                         root_model: false,                                                                         undefined: Py(                                                                             0x00007f6896b91e70,                                                                         ),                                                                         name: "Color",                                                                     },                                                                 ),                                                                 name: "nullable[Color]",                                                             },                                                         ),                                                         validate_default: false,                                                         copy_default: false,                                                         name: "default[nullable[Color]]",                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "line_ends",                                                 lookup_key: Simple {                                                     key: "line_ends",                                                     py_key: Py(                                                         0x00007f6894389630,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "line_ends",                                                                 Py(                                                                     0x00007f68943891f0,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68951cb130,                                                 ),                                                 validator: WithDefault(                                                     WithDefaultValidator {                                                         default: Default(                                                             Py(                                                                 0x00007f68a7748100,                                                             ),                                                         ),                                                         on_error: Raise,                                                         validator: Nullable(                                                             NullableValidator {                                                                 validator: Model(                                                                     ModelValidator {                                                                         revalidate: Never,                                                                         validator: ModelFields(                                                                             ModelFieldsValidator {                                                                                 fields: [                                                                                     Field {                                                                                         name: "end",                                                                                         lookup_key: Simple {                                                                                             key: "end",                                                                                             py_key: Py(                                                                                                 0x00007f68943965b0,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "end",                                                                                                         Py(                                                                                                             0x00007f6894396730,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a7839760,                                                                                         ),                                                                                         validator: DefinitionRef(                                                                                             DefinitionRefValidator {                                                                                                 definition: "...",                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "start",                                                                                         lookup_key: Simple {                                                                                             key: "start",                                                                                             py_key: Py(                                                                                                 0x00007f68943969a0,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "start",                                                                                                         Py(                                                                                                             0x00007f68943979f0,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783d1a0,                                                                                         ),                                                                                         validator: DefinitionRef(                                                                                             DefinitionRefValidator {                                                                                                 definition: "...",                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                 ],                                                                                 model_name: "AnnotationLineEndOptions",                                                                                 extra_behavior: Ignore,                                                                                 extras_validator: None,                                                                                 strict: false,                                                                                 from_attributes: false,                                                                                 loc_by_alias: true,                                                                             },                                                                         ),                                                                         class: Py(                                                                             0x000055aae69158d0,                                                                         ),                                                                         post_init: None,                                                                         frozen: false,                                                                         custom_init: false,                                                                         root_model: false,                                                                         undefined: Py(                                                                             0x00007f6896b91e70,                                                                         ),                                                                         name: "AnnotationLineEndOptions",                                                                     },                                                                 ),                                                                 name: "nullable[AnnotationLineEndOptions]",                                                             },                                                         ),                                                         validate_default: false,                                                         copy_default: false,                                                         name: "default[nullable[AnnotationLineEndOptions]]",                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "line_width",                                                 lookup_key: Simple {                                                     key: "line_width",                                                     py_key: Py(                                                         0x00007f6894339730,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "line_width",                                                                 Py(                                                                     0x00007f6894307df0,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a584d6b0,                                                 ),                                                 validator: WithDefault(                                                     WithDefaultValidator {                                                         default: Default(                                                             Py(                                                                 0x00007f68a7748100,                                                             ),                                                         ),                                                         on_error: Raise,                                                         validator: Nullable(                                                             NullableValidator {                                                                 validator: Float(                                                                     FloatValidator {                                                                         strict: false,                                                                         allow_inf_nan: true,                                                                     },                                                                 ),                                                                 name: "nullable[float]",                                                             },                                                         ),                                                         validate_default: false,                                                         copy_default: false,                                                         name: "default[nullable[float]]",                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "position",                                                 lookup_key: Simple {                                                     key: "position",                                                     py_key: Py(                                                         0x00007f68943042b0,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "position",                                                                 Py(                                                                     0x00007f6894307e30,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a61946b0,                                                 ),                                                 validator: WithDefault(                                                     WithDefaultValidator {                                                         default: Default(                                                             Py(                                                                 0x00007f68a7748100,                                                             ),                                                         ),                                                         on_error: Raise,                                                         validator: Nullable(                                                             NullableValidator {                                                                 validator: Model(                                                                     ModelValidator {                                                                         revalidate: Never,                                                                         validator: ModelFields(                                                                             ModelFieldsValidator {                                                                                 fields: [                                                                                     Field {                                                                                         name: "x",                                                                                         lookup_key: Simple {                                                                                             key: "x",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f628,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "x",                                                                                                         Py(                                                                                                             0x00007f68a783f628,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783df18,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "y",                                                                                         lookup_key: Simple {                                                                                             key: "y",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f658,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "y",                                                                                                         Py(                                                                                                             0x00007f68a783f658,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783f658,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "z",                                                                                         lookup_key: Simple {                                                                                             key: "z",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f688,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "z",                                                                                                         Py(                                                                                                             0x00007f68a783f688,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783f688,                                                                                         ),                                                                                         validator: Float(                                                                                             FloatValidator {                                                                                                 strict: false,                                                                                                 allow_inf_nan: true,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                 ],                                                                                 model_name: "Point3d",                                                                                 extra_behavior: Ignore,                                                                                 extras_validator: None,                                                                                 strict: false,                                                                                 from_attributes: false,                                                                                 loc_by_alias: true,                                                                             },                                                                         ),                                                                         class: Py(                                                                             0x000055aae6232b70,                                                                         ),                                                                         post_init: None,                                                                         frozen: false,                                                                         custom_init: false,                                                                         root_model: false,                                                                         undefined: Py(                                                                             0x00007f6896b91e70,                                                                         ),                                                                         name: "Point3d",                                                                     },                                                                 ),                                                                 name: "nullable[Point3d]",                                                             },                                                         ),                                                         validate_default: false,                                                         copy_default: false,                                                         name: "default[nullable[Point3d]]",                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                     },                                                 ),                                                 frozen: false,                                             },                                             Field {                                                 name: "text",                                                 lookup_key: Simple {                                                     key: "text",                                                     py_key: Py(                                                         0x00007f68943968e0,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "text",                                                                 Py(                                                                     0x00007f6894396970,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 name_py: Py(                                                     0x00007f68a783d750,                                                 ),                                                 validator: WithDefault(                                                     WithDefaultValidator {                                                         default: Default(                                                             Py(                                                                 0x00007f68a7748100,                                                             ),                                                         ),                                                         on_error: Raise,                                                         validator: Nullable(                                                             NullableValidator {                                                                 validator: Model(                                                                     ModelValidator {                                                                         revalidate: Never,                                                                         validator: ModelFields(                                                                             ModelFieldsValidator {                                                                                 fields: [                                                                                     Field {                                                                                         name: "point_size",                                                                                         lookup_key: Simple {                                                                                             key: "point_size",                                                                                             py_key: Py(                                                                                                 0x00007f6894307e70,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "point_size",                                                                                                         Py(                                                                                                             0x00007f6894304970,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68947cf3f0,                                                                                         ),                                                                                         validator: Int(                                                                                             IntValidator {                                                                                                 strict: false,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "text",                                                                                         lookup_key: Simple {                                                                                             key: "text",                                                                                             py_key: Py(                                                                                                 0x00007f6894397de0,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "text",                                                                                                         Py(                                                                                                             0x00007f6894397b40,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783d750,                                                                                         ),                                                                                         validator: Str(                                                                                             StrValidator {                                                                                                 strict: false,                                                                                                 coerce_numbers_to_str: false,                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "x",                                                                                         lookup_key: Simple {                                                                                             key: "x",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f628,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "x",                                                                                                         Py(                                                                                                             0x00007f68a783f628,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783df18,                                                                                         ),                                                                                         validator: StrEnum(                                                                                             EnumValidator {                                                                                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                                                                 class: Py(                                                                                                     0x000055aae674a130,                                                                                                 ),                                                                                                 lookup: LiteralLookup {                                                                                                     expected_bool: None,                                                                                                     expected_int: None,                                                                                                     expected_str: Some(                                                                                                         {                                                                                                             "left": 0,                                                                                                             "center": 1,                                                                                                             "right": 2,                                                                                                         },                                                                                                     ),                                                                                                     expected_py_dict: None,                                                                                                     expected_py_values: None,                                                                                                     values: [                                                                                                         Py(                                                                                                             0x00007f6894d6ee70,                                                                                                         ),                                                                                                         Py(                                                                                                             0x00007f6894d6eed0,                                                                                                         ),                                                                                                         Py(                                                                                                             0x00007f6894d6ef30,                                                                                                         ),                                                                                                     ],                                                                                                 },                                                                                                 missing: None,                                                                                                 expected_repr: "'left', 'center' or 'right'",                                                                                                 strict: false,                                                                                                 class_repr: "AnnotationTextAlignmentX",                                                                                                 name: "str-enum[AnnotationTextAlignmentX]",                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                     Field {                                                                                         name: "y",                                                                                         lookup_key: Simple {                                                                                             key: "y",                                                                                             py_key: Py(                                                                                                 0x00007f68a783f658,                                                                                             ),                                                                                             path: LookupPath(                                                                                                 [                                                                                                     S(                                                                                                         "y",                                                                                                         Py(                                                                                                             0x00007f68a783f658,                                                                                                         ),                                                                                                     ),                                                                                                 ],                                                                                             ),                                                                                         },                                                                                         name_py: Py(                                                                                             0x00007f68a783f658,                                                                                         ),                                                                                         validator: StrEnum(                                                                                             EnumValidator {                                                                                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                                                                                 class: Py(                                                                                                     0x000055aae674ac80,                                                                                                 ),                                                                                                 lookup: LiteralLookup {                                                                                                     expected_bool: None,                                                                                                     expected_int: None,                                                                                                     expected_str: Some(                                                                                                         {                                                                                                             "center": 1,                                                                                                             "bottom": 0,                                                                                                             "top": 2,                                                                                                         },                                                                                                     ),                                                                                                     expected_py_dict: None,                                                                                                     expected_py_values: None,                                                                                                     values: [                                                                                                         Py(                                                                                                             0x00007f6894d6f050,                                                                                                         ),                                                                                                         Py(                                                                                                             0x00007f6894d6f0b0,                                                                                                         ),                                                                                                         Py(                                                                                                             0x00007f6894d6f110,                                                                                                         ),                                                                                                     ],                                                                                                 },                                                                                                 missing: None,                                                                                                 expected_repr: "'bottom', 'center' or 'top'",                                                                                                 strict: false,                                                                                                 class_repr: "AnnotationTextAlignmentY",                                                                                                 name: "str-enum[AnnotationTextAlignmentY]",                                                                                             },                                                                                         ),                                                                                         frozen: false,                                                                                     },                                                                                 ],                                                                                 model_name: "AnnotationTextOptions",                                                                                 extra_behavior: Ignore,                                                                                 extras_validator: None,                                                                                 strict: false,                                                                                 from_attributes: false,                                                                                 loc_by_alias: true,                                                                             },                                                                         ),                                                                         class: Py(                                                                             0x000055aae674b370,                                                                         ),                                                                         post_init: None,                                                                         frozen: false,                                                                         custom_init: false,                                                                         root_model: false,                                                                         undefined: Py(                                                                             0x00007f6896b91e70,                                                                         ),                                                                         name: "AnnotationTextOptions",                                                                     },                                                                 ),                                                                 name: "nullable[AnnotationTextOptions]",                                                             },                                                         ),                                                         validate_default: false,                                                         copy_default: false,                                                         name: "default[nullable[AnnotationTextOptions]]",                                                         undefined: Py(                                                             0x00007f6896b91e70,                                                         ),                                                     },                                                 ),                                                 frozen: false,                                             },                                         ],                                         model_name: "AnnotationOptions",                                         extra_behavior: Ignore,                                         extras_validator: None,                                         strict: false,                                         from_attributes: false,                                         loc_by_alias: true,                                     },                                 ),                                 class: Py(                                     0x000055aae66074a0,                                 ),                                 post_init: None,                                 frozen: false,                                 custom_init: false,                                 root_model: false,                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                                 name: "AnnotationOptions",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894397bd0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68943a6130,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68944baa30,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "update_annotation": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68944baa30,                                                 ),                                             ],                                         },                                         expected_repr: "'update_annotation'",                                         name: "literal['update_annotation']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['update_annotation']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "update_annotation",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6c477a0,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "update_annotation",     }, ), definitions=[StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55aae67428f0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"none": 0, "arrow": 1}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f6894d6e690), Py(0x7f6894d6eb70)] }, missing: None, expected_repr: "'none' or 'arrow'", strict: false, class_repr: "AnnotationLineEnd", name: "str-enum[AnnotationLineEnd]" })], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, annotation_id: str, options: kittycad.models.annotation_options.AnnotationOptions, type: Literal['update_annotation'] = 'update_annotation') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

annotation_id: str[source]
classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'annotation_id': FieldInfo(annotation=str, required=True), 'options': FieldInfo(annotation=AnnotationOptions, required=True), 'type': FieldInfo(annotation=Literal['update_annotation'], required=False, default='update_annotation')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

options: AnnotationOptions[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['update_annotation'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.view_isometric(**data)[source][source]

Fit the view to the scene with an isometric view.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'padding': <class 'float'>, 'type': typing.Literal['view_isometric']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.view_isometric'>, 'config': {'title': 'view_isometric'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.view_isometric'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.view_isometric'>>]}, 'ref': 'kittycad.models.modeling_cmd.view_isometric:94192505565008', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'padding': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 0.0, 'schema': {'type': 'float'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'view_isometric', 'schema': {'expected': ['view_isometric'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'view_isometric', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_focus_on': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_orthographic': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_perspective': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_filter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>, 'zoom_to_fit': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d5af50,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "padding": SerField {                         key_py: Py(                             0x00007f68a6919590,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689459a350,                                         ),                                     ),                                     serializer: Float(                                         FloatSerializer {                                             inf_nan_mode: Null,                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689510aaf0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "view_isometric",                                             },                                             expected_py: None,                                             name: "literal['view_isometric']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 2,             },         ),         has_extra: false,         root_model: false,         name: "view_isometric",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="view_isometric", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "padding",                         lookup_key: Simple {                             key: "padding",                             py_key: Py(                                 0x00007f6894126190,                             ),                             path: LookupPath(                                 [                                     S(                                         "padding",                                         Py(                                             0x00007f68941261c0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a6919590,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689459a350,                                     ),                                 ),                                 on_error: Raise,                                 validator: Float(                                     FloatValidator {                                         strict: false,                                         allow_inf_nan: true,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[float]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68941261f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894126220,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689510aaf0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "view_isometric": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689510aaf0,                                                 ),                                             ],                                         },                                         expected_repr: "'view_isometric'",                                         name: "literal['view_isometric']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['view_isometric']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "view_isometric",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d5af50,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "view_isometric",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, padding: float = 0.0, type: Literal['view_isometric'] = 'view_isometric') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'padding': FieldInfo(annotation=float, required=False, default=0.0), 'type': FieldInfo(annotation=Literal['view_isometric'], required=False, default='view_isometric')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

padding: float[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['view_isometric'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.volume(**data)[source][source]

Get the volume of entities in the scene or the default scene.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'entity_ids': typing.List[str], 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'output_unit': <enum 'UnitVolume'>, 'type': typing.Literal['volume']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.volume'>, 'config': {'title': 'volume'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.volume'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.volume'>>]}, 'ref': 'kittycad.models.modeling_cmd.volume:94192505436496', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitVolume'>, 'members': [UnitVolume.CM3, UnitVolume.FT3, UnitVolume.IN3, UnitVolume.M3, UnitVolume.YD3, UnitVolume.USFLOZ, UnitVolume.USGAL, UnitVolume.L, UnitVolume.ML], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_volume.UnitVolume:94192494762128', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'volume', 'schema': {'expected': ['volume'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'volume', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d3b950,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "output_unit": SerField {                         key_py: Py(                             0x00007f6894e9c630,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Enum(                                 EnumSerializer {                                     class: Py(                                         0x000055aae630d890,                                     ),                                     serializer: Some(                                         Str(                                             StrSerializer,                                         ),                                     ),                                 },                             ),                         ),                         required: true,                     },                     "entity_ids": SerField {                         key_py: Py(                             0x00007f689451a2b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Str(                                         StrSerializer,                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[str]",                                 },                             ),                         ),                         required: true,                     },                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68a783dcb0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "volume",                                             },                                             expected_py: None,                                             name: "literal['volume']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "volume",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="volume", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "entity_ids",                         lookup_key: Simple {                             key: "entity_ids",                             py_key: Py(                                 0x00007f6894291830,                             ),                             path: LookupPath(                                 [                                     S(                                         "entity_ids",                                         Py(                                             0x00007f68942ebab0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f689451a2b0,                         ),                         validator: List(                             ListValidator {                                 strict: false,                                 item_validator: Some(                                     Str(                                         StrValidator {                                             strict: false,                                             coerce_numbers_to_str: false,                                         },                                     ),                                 ),                                 min_length: None,                                 max_length: None,                                 name: OnceLock(                                     <uninit>,                                 ),                                 fail_fast: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "output_unit",                         lookup_key: Simple {                             key: "output_unit",                             py_key: Py(                                 0x00007f6894260e30,                             ),                             path: LookupPath(                                 [                                     S(                                         "output_unit",                                         Py(                                             0x00007f68942ebb30,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f6894e9c630,                         ),                         validator: StrEnum(                             EnumValidator {                                 phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>,                                 class: Py(                                     0x000055aae630d890,                                 ),                                 lookup: LiteralLookup {                                     expected_bool: None,                                     expected_int: None,                                     expected_str: Some(                                         {                                             "cm3": 0,                                             "usgal": 6,                                             "l": 7,                                             "ml": 8,                                             "ft3": 1,                                             "in3": 2,                                             "yd3": 4,                                             "m3": 3,                                             "usfloz": 5,                                         },                                     ),                                     expected_py_dict: None,                                     expected_py_values: None,                                     values: [                                         Py(                                             0x00007f68947acfb0,                                         ),                                         Py(                                             0x00007f68947ad010,                                         ),                                         Py(                                             0x00007f68947ad070,                                         ),                                         Py(                                             0x00007f68947ad0d0,                                         ),                                         Py(                                             0x00007f68947ad130,                                         ),                                         Py(                                             0x00007f68947ad190,                                         ),                                         Py(                                             0x00007f68947ad1f0,                                         ),                                         Py(                                             0x00007f68947ad250,                                         ),                                         Py(                                             0x00007f68947ad2b0,                                         ),                                     ],                                 },                                 missing: None,                                 expected_repr: "'cm3', 'ft3', 'in3', 'm3', 'yd3', 'usfloz', 'usgal', 'l' or 'ml'",                                 strict: false,                                 class_repr: "UnitVolume",                                 name: "str-enum[UnitVolume]",                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f68942f9d70,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f68942f9d10,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68a783dcb0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "volume": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f68a783dcb0,                                                 ),                                             ],                                         },                                         expected_repr: "'volume'",                                         name: "literal['volume']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['volume']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "volume",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d3b950,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "volume",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, entity_ids: List[str], output_unit: kittycad.models.unit_volume.UnitVolume, type: Literal['volume'] = 'volume') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

entity_ids: List[str][source]
classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_ids': FieldInfo(annotation=List[str], required=True), 'output_unit': FieldInfo(annotation=UnitVolume, required=True), 'type': FieldInfo(annotation=Literal['volume'], required=False, default='volume')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

output_unit: UnitVolume[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['volume'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self

class kittycad.models.modeling_cmd.zoom_to_fit(**data)[source][source]

Fit the view to the specified object(s).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__abstractmethods__ = frozenset({})[source]
__annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'object_ids': typing.List[str], 'padding': <class 'float'>, 'type': typing.Literal['zoom_to_fit']}[source]
classmethod __class_getitem__(typevar_values)[source]
Return type:

type[BaseModel] | PydanticRecursiveRef

__class_vars__: ClassVar[set[str]] = {}[source]
__copy__()[source]

Returns a shallow copy of the model.

Return type:

Self

__deepcopy__(memo=None)[source]

Returns a deep copy of the model.

Return type:

Self

__delattr__(item)[source]

Implement delattr(self, name).

Return type:

Any

__dict__[source]
__eq__(other)[source]

Return self==value.

Return type:

bool

property __fields_set__: set[str][source]
classmethod __get_pydantic_core_schema__(source, handler, /)[source]

Hook into generating the model’s CoreSchema.

Parameters:
  • source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.

  • handler (GetCoreSchemaHandler) – A callable that calls into Pydantic’s internal CoreSchema generation logic.

Return type:

Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]

Returns:

A pydantic-core CoreSchema.

classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]

Hook into generating the model’s JSON schema.

Parameters:
  • core_schema (Union[AnySchema, NoneSchema, BoolSchema, IntSchema, FloatSchema, DecimalSchema, StringSchema, BytesSchema, DateSchema, TimeSchema, DatetimeSchema, TimedeltaSchema, LiteralSchema, EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, TupleSchema, SetSchema, FrozenSetSchema, GeneratorSchema, DictSchema, AfterValidatorFunctionSchema, BeforeValidatorFunctionSchema, WrapValidatorFunctionSchema, PlainValidatorFunctionSchema, WithDefaultSchema, NullableSchema, UnionSchema, TaggedUnionSchema, ChainSchema, LaxOrStrictSchema, JsonOrPythonSchema, TypedDictSchema, ModelFieldsSchema, ModelSchema, DataclassArgsSchema, DataclassSchema, ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, UrlSchema, MultiHostUrlSchema, DefinitionsSchema, DefinitionReferenceSchema, UuidSchema]) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}), or just call the handler with the original schema.

  • handler (GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.

Return type:

Dict[str, Any]

Returns:

A JSON schema, as a Python object.

__getattr__(item)[source]
Return type:

Any

__getstate__()[source]

Helper for pickle.

Return type:

dict[Any, Any]

__hash__ = None[source]
__init__(**data)[source]

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

__iter__()[source]

So dict(model) works.

Return type:

Generator[Tuple[str, Any], None, None]

__module__ = 'kittycad.models.modeling_cmd'[source]
__pretty__(fmt, **kwargs)[source]

Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.

Return type:

Generator[Any, None, None]

__private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] = {}[source]
__pydantic_complete__: ClassVar[bool] = True[source]
__pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'kittycad.models.modeling_cmd.zoom_to_fit'>, 'config': {'title': 'zoom_to_fit'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.zoom_to_fit'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.zoom_to_fit'>>]}, 'ref': 'kittycad.models.modeling_cmd.zoom_to_fit:94192505554432', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': [], 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'padding': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'zoom_to_fit', 'schema': {'expected': ['zoom_to_fit'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'zoom_to_fit', 'type': 'model-fields'}, 'type': 'model'}[source]
__pydantic_custom_init__: ClassVar[bool] = False[source]
__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
__pydantic_extra__: dict[str, Any] | None[source]
__pydantic_fields_set__: set[str][source]
__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
classmethod __pydantic_init_subclass__(**kwargs)[source]

This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.

This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.

This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.

Parameters:

**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.

Return type:

None

__pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'Angle': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Annotated': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationOptions': <pydantic._internal._model_construction._PydanticWeakRef object>, 'AnnotationType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CameraDragInteractionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'CutType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'DistanceType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'EntityType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Field': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImageFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ImportFile': <pydantic._internal._model_construction._PydanticWeakRef object>, 'InputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LengthUnit': <pydantic._internal._model_construction._PydanticWeakRef object>, 'LinearTransform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'List': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Literal': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OutputFormat': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintBound': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathComponentConstraintType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PathSegment': <pydantic._internal._model_construction._PydanticWeakRef object>, 'PerspectiveCameraParameters': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point2d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Point3d': <pydantic._internal._model_construction._PydanticWeakRef object>, 'RootModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneSelectionType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'SceneToolType': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Union': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitArea': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitDensity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitLength': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitMass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'UnitVolume': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved.  Copyright (c) 2000 BeOpen.com. All Rights Reserved.  Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.  Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands     for supporting Python development.  See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'camera_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'center_of_mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'close_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_control_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_end_points': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_get_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'curve_set_constraint': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_focus_on': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_get_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_look_at': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_perspective_settings': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_orthographic': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_set_perspective': <pydantic._internal._model_construction._PydanticWeakRef object>, 'default_camera_zoom': <pydantic._internal._model_construction._PydanticWeakRef object>, 'density': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edge_lines_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'edit_mode_enter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'enable_sketch_mode': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_circular_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_fade': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_all_child_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_child_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_distance': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_num_children': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_parent_id': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_get_sketch_paths': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_linear_pattern_transform': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_make_helix': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_mirror_across_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'entity_set_opacity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'export': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extend_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'extrude': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_center': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_gradient': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_get_position': <pydantic._internal._model_construction._PydanticWeakRef object>, 'face_is_planar': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_entity_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'get_sketch_mode_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_end': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'handle_mouse_drag_start': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entities': <pydantic._internal._model_construction._PydanticWeakRef object>, 'highlight_set_entity': <pydantic._internal._model_construction._PydanticWeakRef object>, 'import_files': <pydantic._internal._model_construction._PydanticWeakRef object>, 'loft': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_axes_gizmo': <pydantic._internal._model_construction._PydanticWeakRef object>, 'make_plane': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mass': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_click': <pydantic._internal._model_construction._PydanticWeakRef object>, 'mouse_move': <pydantic._internal._model_construction._PydanticWeakRef object>, 'move_path_pen': <pydantic._internal._model_construction._PydanticWeakRef object>, 'new_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_bring_to_front': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_set_material_params_pbr': <pydantic._internal._model_construction._PydanticWeakRef object>, 'object_visible': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_curve_uuids_for_vertices': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_info': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_sketch_target_uuid': <pydantic._internal._model_construction._PydanticWeakRef object>, 'path_get_vertex_uuids': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_intersect_and_project': <pydantic._internal._model_construction._PydanticWeakRef object>, 'plane_set_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'reconfigure_stream': <pydantic._internal._model_construction._PydanticWeakRef object>, 'remove_scene_objects': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve': <pydantic._internal._model_construction._PydanticWeakRef object>, 'revolve_about_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'scene_clear_all': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_add': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_remove': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_replace': <pydantic._internal._model_construction._PydanticWeakRef object>, 'select_with_point': <pydantic._internal._model_construction._PydanticWeakRef object>, 'send_object': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_background_color': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_current_tool_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_default_system_properties': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_scene_units': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_filter': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_selection_type': <pydantic._internal._model_construction._PydanticWeakRef object>, 'set_tool': <pydantic._internal._model_construction._PydanticWeakRef object>, 'sketch_mode_disable': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid2d_add_hole': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_fillet_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_edge_faces': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_all_opposite_edges': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_next_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_opposite_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_get_prev_adjacent_edge': <pydantic._internal._model_construction._PydanticWeakRef object>, 'solid3d_shell_face': <pydantic._internal._model_construction._PydanticWeakRef object>, 'start_path': <pydantic._internal._model_construction._PydanticWeakRef object>, 'surface_area': <pydantic._internal._model_construction._PydanticWeakRef object>, 'take_snapshot': <pydantic._internal._model_construction._PydanticWeakRef object>, 'update_annotation': <pydantic._internal._model_construction._PydanticWeakRef object>, 'volume': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
__pydantic_private__: dict[str, Any] | None[source]
__pydantic_root_model__: ClassVar[bool] = False[source]
__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x000055aae6d58600,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "type": SerField {                         key_py: Py(                             0x00007f68a783da58,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f689510a6b0,                                         ),                                     ),                                     serializer: Literal(                                         LiteralSerializer {                                             expected_int: {},                                             expected_str: {                                                 "zoom_to_fit",                                             },                                             expected_py: None,                                             name: "literal['zoom_to_fit']",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "object_ids": SerField {                         key_py: Py(                             0x00007f68944e6db0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007f68942ea980,                                         ),                                     ),                                     serializer: List(                                         ListSerializer {                                             item_serializer: Str(                                                 StrSerializer,                                             ),                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             name: "list[str]",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "padding": SerField {                         key_py: Py(                             0x00007f68a6919590,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             Float(                                 FloatSerializer {                                     inf_nan_mode: Null,                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 3,             },         ),         has_extra: false,         root_model: false,         name: "zoom_to_fit",     }, ), definitions=[])[source]
__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="zoom_to_fit", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "object_ids",                         lookup_key: Simple {                             key: "object_ids",                             py_key: Py(                                 0x00007f6894116af0,                             ),                             path: LookupPath(                                 [                                     S(                                         "object_ids",                                         Py(                                             0x00007f6894116ab0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68944e6db0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f68942ea980,                                     ),                                 ),                                 on_error: Raise,                                 validator: List(                                     ListValidator {                                         strict: false,                                         item_validator: Some(                                             Str(                                                 StrValidator {                                                     strict: false,                                                     coerce_numbers_to_str: false,                                                 },                                             ),                                         ),                                         min_length: None,                                         max_length: None,                                         name: OnceLock(                                             "list[str]",                                         ),                                         fail_fast: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: true,                                 name: "default[list[str]]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "padding",                         lookup_key: Simple {                             key: "padding",                             py_key: Py(                                 0x00007f6894124270,                             ),                             path: LookupPath(                                 [                                     S(                                         "padding",                                         Py(                                             0x00007f6894124240,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a6919590,                         ),                         validator: Float(                             FloatValidator {                                 strict: false,                                 allow_inf_nan: true,                             },                         ),                         frozen: false,                     },                     Field {                         name: "type",                         lookup_key: Simple {                             key: "type",                             py_key: Py(                                 0x00007f6894124210,                             ),                             path: LookupPath(                                 [                                     S(                                         "type",                                         Py(                                             0x00007f6894124090,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007f68a783da58,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007f689510a6b0,                                     ),                                 ),                                 on_error: Raise,                                 validator: Literal(                                     LiteralValidator {                                         lookup: LiteralLookup {                                             expected_bool: None,                                             expected_int: None,                                             expected_str: Some(                                                 {                                                     "zoom_to_fit": 0,                                                 },                                             ),                                             expected_py_dict: None,                                             expected_py_values: None,                                             values: [                                                 Py(                                                     0x00007f689510a6b0,                                                 ),                                             ],                                         },                                         expected_repr: "'zoom_to_fit'",                                         name: "literal['zoom_to_fit']",                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[literal['zoom_to_fit']]",                                 undefined: Py(                                     0x00007f6896b91e70,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "zoom_to_fit",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x000055aae6d58600,         ),         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007f6896b91e70,         ),         name: "zoom_to_fit",     }, ), definitions=[], cache_strings=True)[source]
__repr__()[source]

Return repr(self).

Return type:

str

__repr_args__()[source]
Return type:

Iterable[tuple[Optional[str], Any]]

__repr_name__()[source]

Name of the instance’s class, used in __repr__.

Return type:

str

__repr_str__(join_str)[source]
Return type:

str

__rich_repr__()[source]

Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.

Return type:

Iterable[Any | tuple[Any] | tuple[str, Any] | tuple[str, Any, Any]]

__setattr__(name, value)[source]

Implement setattr(self, name, value).

Return type:

None

__setstate__(state)[source]
Return type:

None

__signature__: ClassVar[Signature] = <Signature (*, object_ids: List[str] = [], padding: float, type: Literal['zoom_to_fit'] = 'zoom_to_fit') -> None>[source]
__slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
__str__()[source]

Return str(self).

Return type:

str

_abc_impl = <_abc._abc_data object>[source]
_calculate_keys(*args, **kwargs)[source]
Return type:

Any

_check_frozen(name, value)[source]
Return type:

None

_copy_and_set_values(*args, **kwargs)[source]
Return type:

Any

classmethod _get_value(*args, **kwargs)[source]
Return type:

Any

_iter(*args, **kwargs)[source]
Return type:

Any

classmethod construct(_fields_set=None, **values)[source]
Return type:

Self

copy(*, include=None, exclude=None, update=None, deep=False)[source]

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Parameters:
  • include – Optional set or mapping specifying which fields to include in the copied model.

  • exclude – Optional set or mapping specifying which fields to exclude in the copied model.

  • update – Optional dictionary of field-value pairs to override field values in the copied model.

  • deep – If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
Return type:

Dict[str, Any]

classmethod from_orm(obj)[source]
Return type:

Self

json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
Return type:

str

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set=None, **values)[source]

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Parameters:
  • _fields_set (Optional[set[str]]) – The set of field names accepted for the Model instance.

  • values (Any) – Trusted or pre-validated data dictionary.

Return type:

Self

Returns:

A new instance of the Model class with validated data.

model_copy(*, update=None, deep=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

Returns a copy of the model.

Parameters:
  • update (Optional[dict[str, Any]]) – Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data.

  • deep (bool) – Set to True to make a deep copy of the model.

Return type:

Self

Returns:

New model instance.

model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Parameters:
  • mode (Union[Literal['json', 'python'], str]) – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to include in the output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – A set of fields to exclude from the output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

dict[str, Any]

Returns:

A dictionary representation of the model.

model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

Generates a JSON representation of the model using Pydantic’s to_json method.

Parameters:
  • indent (Optional[int]) – Indentation to use in the JSON output. If None is passed, the output will be compact.

  • include (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to include in the JSON output.

  • exclude (Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]) – Field(s) to exclude from the JSON output.

  • context (Optional[Any]) – Additional context to pass to the serializer.

  • by_alias (bool) – Whether to serialize using field aliases.

  • exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.

  • exclude_defaults (bool) – Whether to exclude fields that are set to their default value.

  • exclude_none (bool) – Whether to exclude fields that have a value of None.

  • round_trip (bool) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].

  • warnings (Union[bool, Literal['none', 'warn', 'error']]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

  • serialize_as_any (bool) – Whether to serialize fields with duck-typing serialization behavior.

Return type:

str

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None[source]

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to "allow".

model_fields: ClassVar[dict[str, FieldInfo]] = {'object_ids': FieldInfo(annotation=List[str], required=False, default=[]), 'padding': FieldInfo(annotation=float, required=True), 'type': FieldInfo(annotation=Literal['zoom_to_fit'], required=False, default='zoom_to_fit')}[source]

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

property model_fields_set: set[str][source]

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]

Generates a JSON schema for a model class.

Parameters:
  • by_alias (bool) – Whether to use attribute aliases or not.

  • ref_template (str) – The reference template.

  • schema_generator (type[GenerateJsonSchema]) – To override the logic used to generate the JSON schema, as a subclass of GenerateJsonSchema with your desired modifications

  • mode (Literal['validation', 'serialization']) – The mode in which to generate the schema.

Return type:

dict[str, Any]

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params)[source]

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Parameters:

params (tuple[type[Any], ...]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Return type:

str

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError – Raised when trying to generate concrete names for non-generic models.

model_post_init(_BaseModel__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Return type:

None

classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Parameters:
  • force (bool) – Whether to force the rebuilding of the model schema, defaults to False.

  • raise_errors (bool) – Whether to raise errors, defaults to True.

  • _parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.

  • _types_namespace (Optional[dict[str, Any]]) – The types namespace, defaults to None.

Return type:

Optional[bool]

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]

Validate a pydantic model instance.

Parameters:
  • obj (Any) – The object to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • from_attributes (Optional[bool]) – Whether to extract data from object attributes.

  • context (Optional[Any]) – Additional context to pass to the validator.

Raises:

ValidationError – If the object could not be validated.

Return type:

Self

Returns:

The validated model instance.

classmethod model_validate_json(json_data, *, strict=None, context=None)[source]

Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

Validate the given JSON data against the Pydantic model.

Parameters:
  • json_data (str | bytes | bytearray) – The JSON data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

Raises:

ValueError – If json_data is not a JSON string.

classmethod model_validate_strings(obj, *, strict=None, context=None)[source]

Validate the given object with string data against the Pydantic model.

Parameters:
  • obj (Any) – The object containing string data to validate.

  • strict (Optional[bool]) – Whether to enforce types strictly.

  • context (Optional[Any]) – Extra variables to pass to the validator.

Return type:

Self

Returns:

The validated Pydantic model.

object_ids: List[str][source]
padding: float[source]
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod parse_obj(obj)[source]
Return type:

Self

classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
Return type:

Self

classmethod schema(by_alias=True, ref_template='#/$defs/{model}')[source]
Return type:

Dict[str, Any]

classmethod schema_json(*, by_alias=True, ref_template='#/$defs/{model}', **dumps_kwargs)[source]
Return type:

str

type: Literal['zoom_to_fit'][source]
classmethod update_forward_refs(**localns)[source]
Return type:

None

classmethod validate(value)[source]
Return type:

Self